Exploiting blind XXE to retrieve data via error messages – PortSwigger Write Up
En este post vamos a estar resolviendo el laboratorio de PortSwigger: “Exploiting blind XXE to retrieve data via error messages.”
Pasos
Este laboratorio tiene una función “Chack Stock” que analiza la entrada XML pero no muestra el resultado.
Para resolver el laboratorio, use un DTD externo para activar un mensaje de error que muestre el contenido del archivo /etc/passwd.
El laboratorio contiene un enlace a un servidor de exploits en un dominio diferente donde puede alojar su DTD malicioso.
Vemos que en esta situación es una tienda donde podemos ver los detalles de los productos y si nos fijamos podemos ver el stock de cada uno de los productos.
Entonces, vamos al laboratorio e interceptamos en segundo plano todos los paquetes en el burpsuite, entonces vamos a un producto y hacemos clic en Check stock y buscamos el paquete en el Http history y lo enviamos al Repeater
.
Entonces ahora lo que haremos será inciar el Burp collaborator y copiar del clipboard
.
Pegamos en el payload la dirección del clipboard y enviamos la petición, con el %
ejecutamos dentro de la identidad el ejecutable sin necesidad de llamarla fuera dentro de una variable
Ahora le damos a poll now y vemos que se ha ejecutado correctamente. Apagamos el proxy del burpsuite
y nos vamos al servidor del exploit.
Copiamos al URL que nos da el servidor del exploit para lanzar el ejecutable que tengamos desde ese servidor
Como podemos ver si le damos a send
y a ver los logs
del servidor del exploit
podemos ver que se ha ejecutado correctamente.
Finalmente cargamos el payload en el body del formulario
, le damos a store
para así guardar el exploit y le damos a send
para enviarlo. Como vemos finalmente concluimos el laboratorio ya que nos envía el /etc/passwd
.
¡Un saludo y espero que os sirva de apoyo!