Username enumeration via subtly different responses
Laboratorio de Portswigger sobre Authentication Vulnerabilities
Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio es vulnerable a ataques de enumeración de nombres de usuario y fuerza bruta de contraseñas. Tiene una cuenta con un nombre de usuario y contraseña predecibles, que se pueden encontrar en los diccionarios Candidate usernames https://portswigger.net/web-security/authentication/auth-lab-usernames y Candidate passwords https://portswigger.net/web-security/authentication/auth-lab-passwords. Para resolver el laboratorio, debemos enumerar un nombre de usuario válido, realizar un ataque de fuerza bruta para descubrir la contraseña de este usuario y acceder a su página de cuenta
Guía de authentication vulnerabilities
Antes de completar este laboratorio es recomendable leerse esta guía de authentication vulnerabilities https://justice-reaper.github.io/posts/Authentication-Vulnerabilities-Guide/
Resolución
Al acceder a la web nos sale esto
Pulsamos sobre My account, introducimos un usuario y contraseña aleatorios y vemos que el servidor nos devuelve Invalid username or password.
Capturamos la petición con Burpsuite
Pulsamos Ctrl + i para mandar la petición al Intruder y señalamos el campo username que es el que vamos a bruteforcear
Nos dirigimos al apartado de Payloads y pegamos el contenido del diccionario Candidate usernames https://portswigger.net/web-security/authentication/auth-lab-usernames
En el apartado de Settings > Grep - Extract tenemos que marcar el texto Invalid username or password. para que si se produce algún cambio en ese apartado nos lo represente
Ejecutamos el ataque de fuerza bruta y ordenamos la columna de la expresión regular que hemos creado. Una vez hecho eso vemos que para el usuario ftp no devuelve exactamente la misma expresión que las demás, por lo tanto podríamos considerar ftp como un usuario válido
A continuación debemos hacer lo mismo con la contraseña, de modo que nos vamos al Intruder nuevamente y en username introducimos como valor ftp y en el campo password marcamos el valor para bruteforcearlo
En la pestaña Payload pegamos el contenido del diccionario Candidate passwords https://portswigger.net/web-security/authentication/auth-lab-passwords
A continuación ejecutamos el ataque y filtramos por la columna Length
Ahora que tenemos las credenciales ftp:qazwsx podemos iniciar sesión












