
Descripción
This lab uses a serialization-based session mechanism and is vulnerable to authentication bypass as a result. To solve the lab, edit the serialized object in the session cookie to access the administrator account. Then, delete the user carlos.
You can log in to your own account using the following credentials: wiener:peter
Modifying serialized data types writeup
Iniciamos sesión en ‘My account’ con el usuario ‘wiener’ y la contraseña ‘peter’. Capturamos la petición al recargar la página y examinamos la cookie de sesión:

Al seleccionarla Burp Suite ya nos muestra que se encuentra codificada en Base64. Nos llevaremos la petición al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater.
Esta cookie funciona de la siguiente forma: ‘tipo_de_dato:tamaño:valor’. Realizaremos los siguientes cambios para hacernos pasar por un administrador:
- Cambiaremos ‘wiener’ por ‘administrator’.
- Cambiaremos el número de ‘6’ a ’13’ (cantidad de letras del nombre).
- Cambiaremos el valor de ‘access_token’ a ‘0’ sin comillas y su tipo de dato de ‘s’ a ‘i’.
Si obtenemos el siguiente mensaje es que habremos configurado algo mal en la cookie:
PHP Fatal error: Uncaught Exception: unserialize() failed in /var/www/index.php:4
Stack trace:
#0 {main}
thrown in /var/www/index.php on line 4
El resultado debe ser el siguiente:
O:4:"User":2:{s:8:"username";s:13:"administrator";s:12:"access_token";i:0;}
Al enviar la petición tendremos la sesión del administrador:

Ahora enviaremos una petición al endpoint ‘/admin/delete?username=carlos’ para borrarlo y completar el laboratorio:

