IDOR
IDOR
1. What do they use for authorization?(JWT, API Keys, cookies, tokens) Tip: Find
this out by replacing high privaledge authorization with lower privaledge
authorization and seeing what the server responds with
2. Understand how they use ID's, hashes, and their API. Do this by looking at the
API Documentations if they have one.
Try to search engine scrape for UUIDs, ex: google dork for IDOR URL
parameters
Using tools like WaybackURLS or gau, and grep for UUID's, ids and common
IDOR URL parameters
Scraping JS files for API endpoints with UUID's, common IDOR parameters
Every time you see a new API endpoint that receives an object ID from the
client, ask yourself the following questions:
What are the different possible roles in the API?(For example — user, driver,
supervisor, manager)
Why Does this Work?: Sometimes the applications authorization settings are not
set to directory level, or the whole URL, making it so that adding URL parameters
can bypass previous restrictions to certain endpoints.
Note: To find URL parameters for endpoints, use tools like Arjun to bruteforce
common IDOR URL parameter names.
Credit: @Jhaddix
POST /api/get_profile
Content-Type: application/json
{“user_id”:<legit_id>,”user_id”:<victim’s_id>}
MFLAC:
Path Traversal:
Random Tips/Tricks:
Try to send a wildcard(*) instead of an ID. It’s rare, but sometimes it works.
Check through the same corresponding mobile API endpoints for the webapp,
to find uuids, if you need them to complete the IDOR exploitation
Many times there will be endpoints to translate emails into GUID's, check for
those
1. Lets say you find a low impact IDOR, like changing someone elses name,
chain that with XSS and you have stored XSS!
2. If you find IDOR on and endpoint, but it requires UUID, chain with info
disclosure endpoints that leak UUID, and bypass this!
@Jhaddix - https://www.youtube.com/watch?v=94-tlOCApOc
@vickieli7 - https://medium.com/@vickieli/how-to-find-more-idors-
ae2db67c9489