IDOR (engl. insecure direct object reference) je podvrsta access control ranjivosti web aplikacija koja nenamijenjeno dopušta korisniku pristup određenom resursu bez odgovarajuće provjere ovlasti.
Jednostavan primjer je aplikacija koja koristi URL parametar ID za dohvat i prikaz dokumenata bez kontrole pristupa. U tom slučaju, ako netko zna ili pogodi ID dokumenta, web aplikacija ga poslužuje bez ikakvih daljnjih provjera.
Ako napadač već zna jednu ili dvije ID vrijednosti dokumenata, ovisno o korištenom formatu identifikatora, nekad može lako naslutiti ostale moguće vrijednosti ako se, na primjer, koriste samo slijedni brojevi. Ako se za dohvat dokumenata koristi njihov sažetak, poput SHA-256 ili složeniji ID format poput UUID v4, puno je teže pogoditi potrebnu vrijednost za dohvat dokumenta. U tom slučaju IDOR ranjivost je i dalje prisutna ako ne postoji odgovarajuća kontrola pristupa, ali ju je teže efektivno iskoristiti čistim pogađanjem.
Korisniku je dana mogućnost uploadanja datoteke na stranicu.
Prikaz datoteka moguće je vidjeti na relativnoj
putanji “/view.php” (klikom na vezu “stranici” nakon uploada).
Unutar URL-a kroz parametar “id” je definirano kojem resursu se pristupa ,npr.
http://chal.platforma.hacknite.hr:10009/view.php?id=9
će dohvatiti dokument s id-em 9.
Napadač može izmijeniti vrijednost parametra i tako pristupiti drugim dokumentima. Može pretpostaviti da se id-evi dodjeljuju slijedno. Isprobavanjem brojeva od 0 do 9 pronađe se resurs (id=8) s CTF zastavom.