Le mode opératoire est expliqué sur
le blog des auteurs de l'attaque (lien à la fin de la news).
La vulnérabilité vient du fait que le parser XML de l'outil interprète bêtement toute la DTD du fichier XML. La DTD détermine la syntaxe de ton fichier XML, et permet d'autres règles, dont les chercheurs ont abusé.
Documentation:
OWASP
Un exemple que tu peux voir sur ce lien:
1 2 3 4
| <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo> |
Pour s'en prémunir il faut faire attention à ce que la DTD ne soit pas interprétée quand ton application lis un fichier XML. Dans le lien précédent (wiki d'OWASP), tu peux voir la liste des bibliothèques XML couramment utilisées dans les différents langages, si par défaut elles lisent la DTD ou non, et leurs différentes options pour que ce ne soit pas le cas.
Partager