Das Cloudflare Image Resizing-Plugin für WordPress (Versionen <= 1.5.6) leidet unter einer Fehlenden Authentifizierung-Schwachstelle, die eine Nicht authentifizierte Remote-Codeausführung (RCE) über den rest_pre_dispatch-Hook ermöglicht.
Beschreibung:
Der REST-API-Endpunkt des Plugins authentifiziert Benutzer nicht und bereinigt Eingaben in der Methode hook_rest_pre_dispatch() nicht ordnungsgemäß. Dieser Fehler ermöglicht es Angreifern, beliebigen PHP-Code durch manipulierte Anfragen zu injizieren und auszuführen – ohne dass eine Anmeldung erforderlich ist.
🛠 Funktionen dieses Exploits
Professionelles, modulares und erweiterbares Python-Skript
Automatische Erkennung der Plugin-Schwachstelle durch Parsen der readme.txt-Datei
Mehrere Umgehungstechniken für WAF und restriktive Umgebungen:
Minimale und erweiterte Header-Sets (zufälliger User-Agent, Referer, Origin, X-Forwarded-For usw.)
Wiederholte Versuche mit Header-Rotation
Proxy-Unterstützung (benutzerdefiniert oder BurpSuite-ähnlich)
Benutzerdefinierte Befehlsausführung:
Standard: whoami, aber der Benutzer kann jeden Befehl angeben
Klare, professionelle Ausgabe mit informativen Statuscodes
Behandelt alle Fehlerfälle elegant (fehlendes Plugin, verboten/nicht autorisiert, Serverfehler usw.)
📦 Was ist im Skript enthalten?
1️⃣ Automatische Schwachstellenerkennung
Ruft wp-content/plugins/cf-image-resizing/readme.txt ab
Extrahiert und prüft die Plugin-Version
Wenn Version ≤ 1.5.6, wird mit dem Exploit fortgefahren
2️⃣ Mehrere Exploit-Strategien
Minimale Header: Sendet nur das Nötigste, um maximale Kompatibilität zu gewährleisten
Erweiterte Header: Randomisiert User-Agent, Referer, Origin, Accept-Language und mehr für jeden Versuch
Header-Rotation: Probiert mehrere Kombinationen aus, um WAF und Rate-Limiting zu umgehen
3️⃣ Anpassbare Ausführung
Führe beliebige Systembefehle auf dem Ziel über CLI-Argument aus Beispiel: -c "id"
4️⃣ Proxy-Unterstützung
Verwende --proxy, um Anfragen über einen Proxy zu senden (z. B. BurpSuite)
5️⃣ Umfassende Ausgabe
Zeigt erkannte Version, Schwachstellenstatus, verwendete Methoden und tatsächliche Befehlsausgabe an
try_exploit: Versucht Exploit mit einem bestimmten Header-Set
exploit_all: Orchestriert alle Exploit-Versuche und wechselt automatisch die Header-Strategien
scan: Prüft auf Plugin-Präsenz und Schwachstelle
Nxploited (main): Argument-Parsing, Berichterstattung und Exploit-Workflow
⚠️ Haftungsausschluss
Dieses Tool ist nur für autorisierte Sicherheitstests und Bildungszwecke bestimmt.
Der Entwickler übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch diesen Code verursacht werden.