Web Security Academy

Authentication - Lab : Broken brute-force protection, IP block

Objectif :

  • Réussir à accéder au compte utilisateur dont l'identifiant est "carlos" en contournant le pare-feu mis en place.

Solution :

On lance le lab et on se retrouve dans la première page d'un blog.

On clique ensuite sur login pour accéder à la page de connexion :

On va tenter une attaque de type brute-force sur le champ password avec l'outil Burp Intruder du logiciel Burp Suite en utilisant une wordlist pouvant être récupérée ici : https://portswigger.net/web-security/authentication/auth-lab-passwords.

On s'aperçoit que le pare-feu nous bloque à la 3ème tentative et met en place une attente d'une minute avant que l'on puisse réessayer :

On attend une minute. On va maintenant tenter de voir si le fait de se connecter à un compte valide ( fourni par l'énoncé ) remet à zéro le compteur du pare-feu lié aux tentatives. Effectivement, il est remis à un état neutre : si on effectue deux tentatives puis on rentre des identifiants valides et on refait deux tentatives, il y a pas le message d'erreur lié au dépassement du nombre maximum d'essai. La limite est contournée.

On ressaye notre attaque de type brute-force sur le champs" username" et "password" pour chacun une "wordlist" judicieusement définie :

    • Pour le premier champ, on alternera entre le mot "carlos" et "wiener" dans la liste de mots à tester.

    • Pour le champ "password", on fera en sorte que lorsque le nom de compte "wiener" sera testé, on inscrive le mot de passe associé (peter) pour réinitialiser le compteur de tentatives du pare-feu.

La wordlist de base utilisée pour ce lab pour le champ du mot de passe se trouve ici : https://portswigger.net/web-security/authentication/auth-lab-passwords.

On trouve que le serveur nous renvoie un statut de réponse différent avec le mot de passe "121212".

On essaie de se connecter avec ce mot de passe trouvé et ça fonctionne ! On a désormais accès au compte de Carlos.

Il suffit maintenant de cliquer "My account" pour valider le lab.