Attaque exploitant les parseurs XML mal configurés pour lire des fichiers ou faire des SSRF.
L'attaque XXE (XML External Entity) exploite les fonctionnalités des parseurs XML qui résolvent les entités externes définies dans les DTD (Document Type Definition). Un attaquant injecte une entité XML externe pointant vers un fichier local, une URL interne, ou une ressource sensible, et le parseur la résout naïvement.
Exemple d'attaque : envoyer un XML contenant `<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo>`. Si le parseur résout l'entité, le contenu de /etc/passwd est exfiltré dans la réponse. XXE permet aussi : SSRF (lecture d'endpoints internes comme http://169.254.169.254/ sur AWS pour récupérer des credentials), DoS (billion laughs attack, exponential entity expansion), et parfois RCE.
Mitigations : désactiver la résolution des entités externes dans le parseur XML (setFeature FEATURE_SECURE_PROCESSING en Java, libxml_disable_entity_loader(true) en PHP, defusedxml en Python). Utiliser des formats plus sûrs (JSON) quand XML n'est pas nécessaire. Les frameworks modernes désactivent XXE par défaut, mais le code legacy reste vulnérable (Spring, .NET, Java SAX, etc.). XXE figure dans le Top 10 OWASP (A05:2021 — Security Misconfiguration).
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →