Wat is IDOR
Veel webapplicaties laden een object op basis van een nummer in de URL. Verander dat nummer, en de applicatie haalt een ander object op. Als de controle of jij dat object mag zien ontbreekt of te laat komt, heb je een Insecure Direct Object Reference.
Hoe het eruitziet
Een ingelogde gebruiker van organisatie A opent een sollicitatie. In de URL staat een oplopend nummer. Met één cijfer verschil verschijnt een foutmelding — maar de naam van de kandidaat van organisatie B staat al in het kruimelpad.
GET /sollicitaties/88217
403 Forbidden — maar naam zichtbaar in breadcrumb
Waarom tools het missen
Een scanner weet niet welke gebruiker bij welke organisatie hoort. Een 403 ziet er voor een tool uit als correct gedrag. Alleen iemand die de bedoeling van de applicatie kent, ziet dat er toch iets lekt.
Zo voorkom je het
Controleer autorisatie vóórdat je gegevens ophaalt, niet erna. Geef voor objecten waar iemand geen toegang toe heeft altijd dezelfde 404-response.
