Chapitre 12. Entité externe XML (XXE)
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
XML External Entity (XXE) est une classification d'attaque souvent très simple à exécuter, mais aux résultats dévastateurs. Cette catégorie d'attaque repose sur un analyseur XML mal configuré dans le code d'une application.
D'une manière générale, presque toutes les vulnérabilités des attaques XXE sont découvertes à la suite d'un point de terminaison d'API qui accepte une charge utile XML (ou de type XML). Tu peux penser que les points de terminaison HTTP qui acceptent XML ne sont pas courants, mais les formats similaires à XML comprennent SVG, HTML/DOM, PDF (XFDF) et RTF. Ces formats XML partagent de nombreuses similitudes avec la spécification XML et, par conséquent, de nombreux analyseurs XML les acceptent également en tant qu'entrées.
La magie d'une attaque XXE réside dans le fait que la spécification XML comprend une annotation spéciale pour l'importation de fichiers externes. Cette directive spéciale, appelée entité externe, est interprétée sur la machine sur laquelle le fichier XML est évalué. Cela signifie qu'une charge utile XML spécialement conçue, envoyée à l'analyseur XML d'un serveur, pourrait compromettre des fichiers dans la structure de fichiers de ce serveur.
XXE est souvent utilisé pour compromettre les fichiers d'autres utilisateurs ou pour accéder à des fichiers comme /etc/shadow qui stockent ...