Security · interactive
IDOR: broken object-level authorisation
Ada is logged in and can view her invoice at /api/invoices/1041. What happens if she changes the number? An Insecure Direct Object Reference is the top API security risk: the app trusts an id it should have checked.
logged in as Ada (session cookie ✓)
GET /api/invoices/1042
SELECT * FROM invoices WHERE id = $1
200 OK
Payroll · $18,900 · billed to Cy
The server checked that Ada is logged in, but not that the invoice is hers. Changing the number in the URL shows someone else's payroll.
Invoice id in the URL
Server check
Step 1 of 4 · read left to right
In production
Tools and technologies
Broken object-level authorisation tops the API risk list.
Not tied to one language — use these names when you search docs or design a system.