
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:

