Password reset broken logic – PortSwigger Write Up
En este post vamos a estar resolviendo el laboratorio de PortSwigger: “Password reset broken logic.”
Descripción del laboratorio
Pasos
- Analizar
Como de costumbre, el primer paso es analizar la funcionalidad del laboratorio, en este caso, la funcionalidad de reinicio. Para esto, restablezca la contraseña para
wiener
.
La solicitud de la forgot-password
no parece muy interesante. Contiene algunos encabezados que pueden ser interesantes, pero nada obvio. El cuerpo solo contiene el nombre de usuario.
Da como resultado que se envíe un correo electrónico al correo electrónico de wiener:
Hacer clic en el enlace me permite ingresar una nueva contraseña para wiener
:
La solicitud POST correspondiente parece mucho más interesante, ya que contiene el nombre de usuario:
Me pregunto… si solicito una nueva contraseña como wiener, intercepto este POST y cambio el nombre de usuario a carlos:
La solicitud se procesa con normalidad. Ahora trato de iniciar sesión con las credenciales, solo paso, carlos:password
y listo:
Y como se puede ver finalmente hemos resuelto el laboratorio:
¡Un saludo y espero que os sirva de apoyo!