Insecure Direct Object References (IDOR)
IDOR vulnerabilities occur when a web application exposes a direct reference to an object, like a file or a database resource, which the end-user can directly control to obtain access to other similar objects
download.php?file_id=123
Identifying IDORs
URL Parameters & APIs
?uid=1
or?filename=file_1.pdf
AJAX Calls
Understand Hashing/Encoding
download.php?filename=c81e728d9d4c2f636f067f89cc14862c
At a first glance, we may think that this is a secure object reference, as it is not using any clear text or easy encoding.
However, if we look at the source code, we may see what is being hashed before the API call is made
Compare User Roles
If we want to perform more advanced IDOR attacks, we may need to register multiple users and compare their HTTP requests and object reference
if we had access to two different users, one of which can view their salary after making the following API call:
Last updated