Broken Authentication — Authentification défaillante
Définition
Regroupe toutes les faiblesses permettant d'usurper l'identité d'un utilisateur : credential stuffing, brute force non limité, mots de passe faibles acceptés, identifiants de session prévisibles, absence de MFA, mauvaise gestion de la déconnexion ou de l'expiration de session.
Vecteurs courants
# Credential stuffing (réutilisation de fuites)
hydra -C combos.txt target.com http-post-form "/login:user=^USER^&pass=^PASS^:Invalid"
# Brute force ciblé
hydra -l admin -P rockyou.txt target.com http-post-form \
"/login:username=^USER^&password=^PASS^:F=incorrect"
# Énumération d utilisateurs (réponses/temps différents)
# "Utilisateur inconnu" vs "Mot de passe invalide" Faiblesses de session
Token de session dans l'URL, non régénéré après login (session fixation), sans flag HttpOnly/Secure/SameSite, ou n'expirant jamais. Vérifier aussi que la déconnexion invalide réellement le token côté serveur.
Défenses
MFA, rate limiting et lockout progressif, politique de mot de passe robuste + vérification contre les fuites connues (HIBP), identifiants de session aléatoires (≥128 bits) régénérés au login, cookies HttpOnly; Secure; SameSite=Lax, expiration et invalidation serveur des sessions.