> 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FJuYuznQ2Bbdonq2YoZSp%2Fimage.png?alt=media&amp;token=93f6b4aa-682a-4894-b99f-8f2cbfed4045" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FqM6I13OwT0RvRfywcRVM%2Fimage.png?alt=media&amp;token=1ef955aa-93e9-4e6c-99fb-371b16aeaf29" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F1eSQzkeyXamT9LnXp1cM%2Fimage.png?alt=media&amp;token=40592cc0-5002-4d7a-b95b-3249925d0559" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F60wKwOQtVeNmG25voz2M%2Fimage.png?alt=media&amp;token=b3e04030-535a-4755-b4a2-a6f29a6155e2" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fzoh4sCV7U3pYv7cJkUAe%2Fimage.png?alt=media&amp;token=1ce9eff7-2a5a-4cee-b913-5519fa9b6aed" alt=""><figcaption></figcaption></figure>
