Using application functionality to exploit insecure deserialization writeup

Descripción

This lab uses a serialization-based session mechanism. A certain feature invokes a dangerous method on data provided in a serialized object. To solve the lab, edit the serialized object in the session cookie and use it to delete the morale.txt file from Carlos’s home directory.

You can log in to your own account using the following credentials: wiener:peter

You also have access to a backup account: gregg:rosebud

Using application functionality to exploit insecure deserialization 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:

Vemos que nos dan una cookie de sesión, (de nuevo con el patrón tipo_de_dato:tamaño:valor). Esta cookie tiene nuestro nombre de usuario y una ruta llamada ‘avatar_link’ con la ruta de nuestra foto de usuario. Nos llevaremos la siguiente petición que tenga la cookie de sesión en el encabezado HTTP (la de ‘/my-account’) al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater, y allí intentaremos encontrar el archivo ‘morale.txt’ para eliminarlo.

Cambiaremos la cookie por la siguiente:

O:4:"User":3:{s:8:"username";s:6:"wiener";s:12:"access_token";s:32:"nfki3jeao4z3eouwd14bkk2hrlc6islx";s:11:"avatar_link";s:23:"/home/carlos/morale.txt";}

Y la cambiaremos en la cookie de sesión de Burp Suite. Al enviar la petición no debería de dar ningún error:

Nota: Si aparece un error puede ser porque faltan las comillas dobles en la ruta del archivo o no se han contado bien la cantidad de letras (23).

Cambiaremos ahora el método a POST, la URL a ‘/my-account/delete’ y eliminaremos el ‘id=wiener’, tal y como lo indica el ‘<form>’ de la página para borrar usuarios. Al enviar la petición encontrará nuestro usuario por la cookie:

Y completaremos el laboratorio:

Deja una respuesta

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