
Descripción
This lab makes a flawed assumption about the user’s privilege level based on their input. As a result, you can exploit the logic of its account management features to gain access to arbitrary users’ accounts. To solve the lab, access the administrator
account and delete the user carlos
.
You can log in to your own account using the following credentials: wiener:peter
Weak isolation on dual-use endpoint writeup
En este laboratorio nos encontraremos con un blog. Al iniciar sesión con el usuario ‘wiener’ y la contraseña ‘peter’ veremos que podemos cambiar la contraseña. Si interceptamos la petición del cambio de la contraseña veremos que tendrá este aspecto:

Lo enviaremos al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater. Allí veremos que si borramos el parámetro ‘current-password’ nos dejará cambiar la contraseña. Tras investigar más veremos que este parámetro tiene dos usos:
- Por el frontend para impedir que se envíe la petición.
- Por el backend, si está presente, para impedir el cambio de contraseña.
Si cambiamos el calor del parámetro ‘username’ por ‘administrator’, podremos cambiar su contraseña:

Ahora podremos salir de nuestra cuenta con ‘Log out’ e iniciar sesión en ‘My account’ con el usuario ‘administrator’ y la contraseña ‘test’. Al entrar veremos que en el menú aparece la opción de ir al ‘Admin panel’, donde podremos borrar al usuario ‘carlos’ y finalizar el laboratorio:
