> For the complete documentation index, see [llms.txt](https://beafn28.gitbook.io/beafn28/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://beafn28.gitbook.io/beafn28/web-security/laboratorios-portswigger/insecure-deserialization.md).

# Insecure deserialization

## Lab: Modifying serialized objects

### Enunciado

Este laboratorio utiliza un mecanismo de sesión basado en serialización y es vulnerable a escalada de privilegios como resultado. Edita el objeto serializado en la cookie de sesión para explotar esta vulnerabilidad y obtener privilegios de administrador. Luego, elimina al usuario carlos.

Puedes iniciar sesión en tu propia cuenta con las siguientes credenciales:

* **Usuario:** `wiener`
* **Contraseña:** `peter`

### Resolución

Nos logueamos.

<figure><img src="/files/XSh5DBdlzvOxGmxsv6Yn" alt=""><figcaption></figcaption></figure>

Vamos a decodificar la cookie ya que en el enunciado dice que ahí está la vulnerabilidad.

<figure><img src="/files/Wt1Z7CsmoH93PL1HIeqI" alt=""><figcaption></figcaption></figure>

Esto nos indica que wiener no tiene permisos de administrador por ese 0 que indica falso por lo que lo cambiamos a 1.

<figure><img src="/files/iXKJX0lum7k5AKuR897s" alt=""><figcaption></figcaption></figure>

Cambiamos la cookie y al enviar la petición no sale un panel de administración pero si desconectamos nos rechaza.

<figure><img src="/files/l5iFCB6fNlgetpAq0xsW" alt=""><figcaption></figcaption></figure>

Por lo que la manera de que en cada petición poner la cookie es un rollo con lo  cual la otra solución es ir a inspeccionar y en aplicación añadirla.

<figure><img src="/files/8dbt8nU7ZmxG8nTISX1f" alt=""><figcaption></figcaption></figure>
