← Volver al menú

A08: Software and Data Integrity Failures

Este laboratorio demuestra la deserialización insegura de objetos PHP.

Tus Preferencias Actuales

Usuario: guest

¿Es Administrador?: No

Establecer Nuevas Preferencias

🎯 Escenario de Pentesting

La aplicación guarda tus preferencias en una cookie serializada. Intenta manipular esta cookie para cambiar la propiedad is_admin a true.

Pasos:

  1. Establece un nombre de usuario y guarda las preferencias.
  2. Inspecciona la cookie user_prefs en tu navegador. Descodifica el valor de Base64.
  3. Verás un objeto PHP serializado (ej. O:13:"UserPreference":2:{s:8:"username";s:5:"guest";s:8:"is_admin";b:0;}).
  4. Modifica la cadena serializada para cambiar b:0; (false) a b:1; (true) para la propiedad is_admin.
  5. Codifica la cadena modificada de nuevo a Base64 y reemplaza el valor de la cookie en tu navegador.
  6. Recarga la página. Si ves "¿Es Administrador?: Sí", has explotado la vulnerabilidad.

En escenarios más complejos, la deserialización insegura puede llevar a la ejecución remota de código (RCE) si las clases tienen métodos mágicos vulnerables.