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:

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:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *