Clear Byte

Insecure Direct Object Reference (IDOR)

Hunt for IDORs

Like XSS and open redirects, insecure direct object references (IDORs) are a type of bug present in almost every web application. They happen when the application grants direct access to a resource based on the user's request, without validation.

  1. Create two accounts for each application role and designate one as the attacker account and the other as the victim account.
  2. Discover features in the application that might lead to IDORs. Pay attention to features that return sensitive information or modify user data.
  3. Revisit the features you discovered in step 2. With a proxy, intercept your browser traffic while you browse through the sensitive functionalities.
  4. with a proxy, intercept each sensitive request and switch out the IDs that you see in the requests. If switching out IDs grants you access to other user's information or lets you change their data, you might have found an IDOR.
  5. Don't despair if the application seems to be immune to IDORs. Use this opportunity to try a protection-bypass technique. If the application uses an encoded, hashed, or randomized ID, you can try decoding or predicting the IDs. You can also try supplying the application with an ID when it does not ask for one. Finally, sometimes changing the request method type or file type makes all the difference.
  6. Monitor for information leaks in export files, email, and text alerts. An IDOR now might lead to an info leak in the future.

On this page