Skip to main content
AnalysisPublished

Is changing an object ID enough to identify an IDOR vulnerability?

Source Reddit BlueTeam

0

Discussion

This content discusses the concept of Insecure Direct Object Reference (IDOR) vulnerabilities, emphasizing that simply changing an object ID in a request does not conclusively prove an IDOR exists. It highlights the importance of verifying whether the resource belongs to another user, if authorization checks are enforced, and if unauthorized access violates the application's intended access control policy. The discussion is educational and references PortSwigger's materials on access control vulnerabilities.

r/AskNetsec (opens in a new tab)u/UniversityMammoth6530 points0 comments

I've been trying to understand IDOR properly, and there's one thing I think beginners can easily misunderstand.

When we hear about IDOR, the usual explanation is to change an object ID in a request and see whether another user's data becomes accessible.

But is that really enough?

For example, imagine an application has a request like:

"GET /api/account/1001/profile"

Changing "1001" to "1002" might return a response. However, that alone doesn't prove an IDOR exists.

The important questions are:

- Does the resource actually belong to another user?

- Is the server checking whether the current user is authorized to access it?

- Can an unauthorized user view or modify the resource?

- Does the behavior violate the application's intended access-control policy?

I think the most important distinction is between changing an identifier and demonstrating an authorization failure.

I'm interested in understanding how experienced hunters approach this during testing.

What's the first thing you verify when investigating a suspected IDOR?

For anyone learning, PortSwigger has some useful material:

- "Access Control vulnerabilities" (https://portswigger.net/web-security/access-control)

- "Insecure Direct Object References (IDOR)" (https://portswigger.net/web-security/access-control/idor)

Practice only in authorized labs or within explicitly permitted bug bounty scope.

References

Community reviews

Loading reviews…