Waarom een scanner deze datalek-fout bijna nooit vindt

Over IDOR: een ID in de URL aanpassen en ineens gegevens van een andere klant zien. Wat het is, hoe je het herkent en hoe je het voorkomt.

admin 1 min lezen

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.