IDOR Exploitation
IDOR exploitation moves from confirming unauthorized access on a single object to extracting full datasets, modifying other users' data, and escalating to admin functions when vertical references are accessible. Start from a confirmed IDOR found in IDOR testing and expand the scope before reporting.
Bulk Horizontal Data Extraction
With a confirmed read IDOR, enumerate the full ID range to extract all accessible objects:
1: [email protected] 2: [email protected] 47: [email protected]
Extracted 347 records
Write IDOR — Modify Other Users' Data
When PUT, PATCH, or POST endpoints accept object references in the body without authorization checks, modify other users' records:
{"id":1,"email":"[email protected]","role":"admin"}
A successful response modifying user ID 1 (admin) confirms write IDOR. If the role field was accepted, this is also a mass assignment vulnerability enabling privilege escalation.
Vertical IDOR — Admin Function Access
Test admin endpoints with a regular user session. Admin panels often apply access controls on navigation but not on the underlying API endpoints:
[{"id":1,"username":"admin","role":"admin"},{"id":2,"username":"editor"}]
200
Parameter Pollution for IDOR Bypass
Some applications check authorization on one parameter but process another. Test duplicate parameters to see which one takes precedence:
References
-
PortSwigger — IDORportswigger.net/web-security/access-control/idor (opens in new tab)
Horizontal and vertical IDOR exploitation patterns
Was this helpful?
Your feedback helps improve this page.