Module 15: Insecure Direct Object Referencing

Introduction to IDOR

Static File IDOR

Static File IDOR Landing Page

Sample routing

Routed URI Examples

Database Object Referencing (ID-Based) IDOR

Example IDOR for a Database Object

Exploiting IDOR in the Sandbox

Accessing the IDOR Sandbox Application

Start the VPN, the VM, and add its IP and hostname to your hosts file.

Exploiting Static File IDOR

Click "File-Based IDOR"
File-Based IDOR URI
Contents of the file
Setting ?f=2.txt

Exploiting ID-Based IDOR

ID-Based IDOR
The /customerPage/?custId= URI
The Rendered Content
Incrementing the custId Database Parameter by one

Because we retrieved information through the web browser for a separate user entirely that corresponds with a Customer ID value of "2", we can guess this was the second registered user for the web application.

Exploiting More Complex IDOR

Logging in as User Harb
Harb's Data

Gathering Erroneous Response Sizes

We got 0 because we didn't include a valid session ID.

Gathering a valid session ID

Gathering Erroneous Response Sizes with a Session ID

Fuzzing 100,000 possible UIDs

Exfiltrated Data

Extra Miles

Do the labs.

Case Study: OpenEMR

Accessing The OpenEMR Case Study

Start the VPN, the VM, and add the IP/hostname to your hosts file.

Discovery of the IDOR Vulnerability

OpenEMR Landing Page
Login form
Dashboard Panel for OpenEMR
Message Center - Tab
Message Center - Tab Content
Individual Patient Messages
Turning on Burp Suite's Intercept Feature
Clicking Print message
Intercepted Request in Burp Suite
Request in Repeater

Exploiting the IDOR Vulnerability

Exfiltrated Data for Parameter Value of 11
Trying again with a value of 10

Extra Mile

Do the lab.

Last updated