Broken Access Control
Insecure Direct Object Reference (IDOR) • Beginner
Objective: Access another user's private account data.
Try: Modify the user identifier in the request.
1) Demo
Here is the feature “working” as implemented in this mode.
Name: Alex Morgan
Role: Free
Email: alex@music.app
Balance: $12.04
Name: Alex Morgan
Role: Free
Email: alex@music.app
Balance: $12.04
Server chose user: 1
(from URL parameter)
2) How the code works
This section shows the mental model: what the server is “thinking”.
3) The issue
The app trusts a user-controlled identifier (the URL) to choose which account to return.
4) Exploit it
Edit the raw request below. You can change method, path/query, headers, and body. Then send it. The server will parse what you typed and re-run the simulation.
Cookie: session=1; role=Admin
Exploit Editor Hidden (Recruiter Mode)
This mode is designed for sharing your portfolio. It focuses on clear explanation, real-world impact, and fixes—without interactive exploitation.
Want to demo the exploit? Turn Recruiter Mode off and use the Request Editor.
5) Fix
Secure Mode shows the fix behavior. Flip modes and send the same request.
Never derive identity from client input. Use server-side session state and enforce authorization checks.
Video
Short visual explanation to match what you just did.