Das React Server Components Remote-RCE-Exploit-Tool ist ein Sicherheitstesttool, das speziell auf Remote-Codeausführungs-Schwachstellen in React Server Components und Next.js-Frameworks abzielt. Es bietet eine grafische Benutzeroberfläche und unterstützt mehrere Angriffsmodi sowie Batch-Scanning.
⚠️ Haftungsausschluss: Dieses Tool ist nur für autorisierte Sicherheitstests und CTF-Wettbewerbe bestimmt. Die Nutzung für illegale Angriffe ist strengstens untersagt. Jegliche Folgen, die durch die Nutzung dieses Tools entstehen, liegen in der alleinigen Verantwortung des Benutzers.
🎯 Betroffene Versionen
Betroffene React Server-Versionen
- React Server 19.0.0
- React Server 19.0.1 (Hinweis: Einige frühe Patches decken nicht alle Versionen ab)
- React Server 19.1.* (alle 19.1.x-Versionen)
- React Server 19.2.0
Betroffene Next.js-Versionen
- Next.js v15.0.0 - v15.0.4
- Next.js v15.1.0 - v15.1.8
- Next.js v15.2.x - v15.5.6
- Next.js v16.0.0 - v16.0.6
- Next.js v14.3.0-canary.77 und höhere Canary-Versionen
Andere betroffene Komponenten
- Dify - KI-Anwendungsentwicklungsplattform
- NextChat - Chat-Anwendungsframework
- Andere Anwendungen, die auf betroffenen Versionen von React Server Components oder Next.js basieren
Hinweis: Wenn Ihre Anwendung eine der oben genannten Versionen verwendet, wird empfohlen, sofort auf eine sichere Version zu aktualisieren oder entsprechende Schutzmaßnahmen zu ergreifen.
✨ Funktionen
🎯 Kernfunktionen
- Schwachstellenerkennung: Schnelle Erkennung, ob das Ziel anfällig für React Server Components / Next.js RCE-Schwachstellen ist.
- Befehlsausgabe: Direkte Ausführung von Systembefehlen und Anzeige der Ergebnisse.
- Memory-Shell-Injektion: Injektion einer persistenten Webshell auf dem Zielserver.
- Reverse Shell: Erhalten einer interaktiven Shell auf dem Zielsystem.
- Batch-Scanning: Unterstützt die gleichzeitige Überprüfung mehrerer Ziel-URLs zur schnellen Identifizierung anfälliger Systeme.
🔧 Zusatzfunktionen
- Proxy-Unterstützung: Unterstützt die Konfiguration eines HTTP-Proxys (z. B. Burp Suite) für die Verkehrsanalyse.
- Benutzerdefinierte Header: Hinzufügen benutzerdefinierter HTTP-Header zur Umgehung einfacher Schutzmaßnahmen.
- Echtzeit-Logging: Anzeige von Operationslogs in Echtzeit zur Nachverfolgung des Testprozesses.
- Timeout-Einstellung: Einstellbare Anfrage-Timeout-Werte für verschiedene Netzwerkumgebungen.
🚀 Schnellstart
Systemvoraussetzungen
- Java 8 oder höher
- Windows / Linux / macOS Betriebssystem
-
Doppelklicken Sie auf die Datei React Server Components 远程RCE.jar
-
Oder starten Sie über die Befehlszeile:
java -jar React Server Components 远程RCE.jar
-
Beim ersten Start wird ein Haftungsausschluss angezeigt. Bitte lesen Sie ihn sorgfältig durch und stimmen Sie zu, um fortzufahren.
📋 Bedienungsanleitung
1️⃣ Grundeinstellungen
Vor der Nutzung einer Funktion müssen die Grundeinstellungen konfiguriert werden:
- Ziel-URL: Geben Sie die zu testende Zielwebsite-Adresse ein (z. B.
http://192.168.1.100:3000)
- Angriffspfad: Pfad der Anwendung (Standard:
/apps, je nach Ziel anpassbar)
- Timeout: Sekunden für Anfrage-Timeout (Standard: 30 Sekunden)
- Benutzerdefinierte Header: Optional, einer pro Zeile, Format:
Header-Name: value
2️⃣ Schwachstellenerkennung
- Füllen Sie die Ziel-URL und Grundeinstellungen aus.
- Klicken Sie auf die Schaltfläche "Auf Schwachstelle testen".
- Warten Sie auf die Erkennungsergebnisse. Das Tool erkennt automatisch, ob das Ziel anfällig ist.
Hinweis: Es wird empfohlen, zuerst eine Schwachstellenerkennung durchzuführen, um sicherzustellen, dass das Ziel anfällig ist, bevor Sie fortfahren.
🎮 Angriffsmodi im Detail
Modus 1: Befehlsausgabe
Anwendungsfall: Sie müssen Systembefehle ausführen und die Ergebnisse sehen
Schritte:
- Wechseln Sie zum Tab "Befehlsausgabe"
- Geben Sie den auszuführenden Befehl in das Eingabefeld ein (z. B.
whoami, ipconfig, ls -la)
- Klicken Sie auf die Schaltfläche "Befehl ausführen"
- Sehen Sie sich das Ergebnis im Textbereich unten an
Beispiele für häufig verwendete Befehle:
- Windows:
whoami, ipconfig, dir, net user
- Linux:
whoami, ifconfig, ls -la, uname -a
Modus 2: Memory-Shell-Injektion
Anwendungsfall: Hinterlassen einer persistenten Hintertür auf dem Zielserver
Schritte:
-
Wechseln Sie zum Tab "Memory-Shell-Injektion"
-
Legen Sie den Zugriffspfad für die Memory-Shell fest (z. B. /exec)
-
Klicken Sie auf die Schaltfläche "Memory-Shell injizieren"
-
Nach erfolgreicher Injektion können Sie Befehle wie folgt ausführen:
Zugriff: http://Zieladresse/exec?cmd=whoami
Verwendungshinweise:
- Die Memory-Shell wird im Speicher der Zielanwendung registriert und hinterlässt keine Dateien auf der Festplatte.
- Nach einem Neustart des Servers ist die Memory-Shell nicht mehr aktiv.
- Über den URL-Parameter
cmd wird der auszuführende Befehl übergeben.
Modus 3: Reverse Shell
Anwendungsfall: Erhalten einer interaktiven Shell auf dem Zielsystem
Schritte:
-
Starten Sie einen Listener auf Ihrem lokalen Rechner (z. B. mit netcat):
-
Wechseln Sie zum Tab "Reverse Shell"
-
Geben Sie die Listener-IP (Ihre Maschinen-IP) ein
-
Geben Sie den Listener-Port ein (z. B. 4444)
-
Klicken Sie auf die Schaltfläche "Reverse Shell senden"
-
Gehen Sie zurück zum netcat-Fenster und warten Sie auf die Shell-Verbindung
Hinweise:
- Stellen Sie sicher, dass der Zielserver Ihre Listener-IP und den Port erreichen kann.
- Die Firewall muss eingehende Verbindungen auf dem entsprechenden Port zulassen.
- In realen Umgebungen kann dies durch Netzwerkrichtlinien eingeschränkt sein.
Modus 4: Batch-Scanning
Anwendungsfall: Gleichzeitiges Scannen mehrerer Ziele auf Schwachstellen
Schritte:
- Wechseln Sie zum Tab "Batch-Scanning"
- Geben Sie eine Liste der Ziel-URLs in das Textfeld ein (eine pro Zeile)
- Klicken Sie auf die Schaltfläche "Scan starten"
- Sehen Sie sich die Scanergebnisse an; das Tool markiert Ziele mit Schwachstellen.
⚙️ Erweiterte Einstellungen
HTTP-Proxy konfigurieren
Dient zur Weiterleitung des Datenverkehrs an Tools wie Burp Suite zur Analyse von Anfragen und Antworten.
Konfigurationsschritte:
- Klicken Sie im oberen Menü auf "Einstellungen" → "Proxy-Einstellungen"
- Wählen Sie "Aktivieren"
- Geben Sie den Proxy-Host ein (z. B.
127.0.0.1)
- Geben Sie den Proxy-Port ein (z. B.
8080)
- Klicken Sie auf "Speichern"
Burp Suite-Konfiguration:
- Stellen Sie sicher, dass der Proxy-Listener von Burp Suite gestartet ist.
- Standard-Listener-Adresse:
127.0.0.1:8080
- In Burp können Sie alle vom Tool gesendeten Anfragen abfangen und ändern.
Proxy-Status anzeigen:
- Nach der Konfiguration wird der Proxy-Status oben rechts auf der Benutzeroberfläche angezeigt.
- Grün bedeutet aktiviert, grau bedeutet nicht konfiguriert.
🛡️ Sicherheitshinweise
- Nur in autorisierten Umgebungen verwenden: Stellen Sie sicher, dass Sie eine ausdrückliche Genehmigung haben, um das Ziel zu testen.
- Nicht in Produktionsumgebungen verwenden: Vermeiden Sie Schäden an Produktionssystemen.
- Testdaten schützen: Sensible Informationen, die während des Tests gewonnen werden, sind sicher aufzubewahren.
- Gesetze und Vorschriften einhalten: Nicht autorisierte Penetrationstests können gegen das Gesetz verstoßen.
- Verwendung bei CTF-Wettbewerben: Dieses Tool eignet sich für den Einsatz in CTFs, Übungsplattformen und anderen legalen Umgebungen.
❓ Häufig gestellte Fragen (FAQ)
Q1: Was tun, wenn "Keine Schwachstelle erkannt" angezeigt wird?
Mögliche Ursachen:
- Ziel-URL ist falsch oder der Dienst läuft nicht.
- Die Schwachstelle liegt am Ziel nicht vor.
- Der Angriffspfad ist falsch konfiguriert.
- Netzwerkverbindung fehlgeschlagen oder durch Firewall blockiert.
Lösungen:
- Überprüfen Sie, ob die Ziel-URL erreichbar ist.
- Versuchen Sie, den Angriffspfad anzupassen.
- Überprüfen Sie die Netzwerkverbindung und Proxy-Einstellungen.
Q2: Befehl wird ausgeführt, aber es gibt keine Ausgabe?
Mögliche Ursachen:
- Befehl erfolgreich ausgeführt, aber keine Ausgabe (z. B. bei Dateischreibbefehlen).
- Eingeschränkte Berechtigungen auf dem Zielsystem.
- Syntaxfehler im Befehl.
Lösungen:
- Versuchen Sie einen Befehl mit eindeutiger Ausgabe (z. B.
id).
- Überprüfen Sie die Befehlssyntax.
- Sehen Sie sich die Details im unteren Logbereich an.
Q3: Reverse Shell-Verbindung fehlgeschlagen?
Mögliche Ursachen:
- Das Ziel kann Ihre Listener-IP nicht erreichen.
- Die Firewall blockiert die Verbindung.
- Port ist bereits belegt.
Lösungen:
- Stellen Sie sicher, dass der Listener-Dienst läuft (
nc -lvnp Port).
- Überprüfen Sie die Firewall-Einstellungen und erlauben Sie den entsprechenden Port.
- Stellen Sie sicher, dass die IP-Adresse korrekt ist (wenn Ziel und Sie im selben Netzwerk sind, verwenden Sie die interne IP).
Q4: Wie kann ich detaillierte Anfragen und Antworten anzeigen?
Lösungen:
- Konfigurieren Sie einen HTTP-Proxy (z. B. Burp Suite).
- Zeigen Sie den vollständigen HTTP-Datenverkehr im Proxy-Tool an.
- Der untere Logbereich zeigt ebenfalls wichtige Informationen an.
📞 Technischer Support
- Autor: CrabSec
- Version: v1.0.0
📜 Urheberrechtshinweis
Dieses Tool dient ausschließlich zu Lern- und autorisierten Sicherheitstestzwecken. Jegliche Folgen, die durch die Nutzung dieses Tools entstehen, liegen in der alleinigen Verantwortung des Benutzers. Die Entwickler übernehmen keinerlei Haftung.
Bitte beachten Sie das Cybersicherheitsgesetz und die einschlägigen Rechtsvorschriften. Seien Sie ein ethischer Sicherheitsforscher!
Viel Erfolg beim Testen! 🎉