Herramienta de explotación de RCE remota de React Server Components
📖 Introducción a la herramienta
La herramienta de explotación de RCE remota de React Server Components es una herramienta de pruebas de seguridad diseñada específicamente para vulnerabilidades de ejecución remota de código en los frameworks React Server Components y Next.js. Proporciona una interfaz gráfica de usuario y admite múltiples modos de ataque y funciones de detección por lotes.
⚠️ Aviso legal: Esta herramienta está destinada únicamente a pruebas de seguridad autorizadas y competiciones CTF. Está estrictamente prohibido su uso para ataques ilegales. Cualquier consecuencia derivada del uso de esta herramienta será responsabilidad del usuario.
🎯 Alcance de las vulnerabilidades afectadas
Versiones afectadas de React Server
- React Server 19.0.0
- React Server 19.0.1 (nota: algunos parches iniciales no cubren completamente la vulnerabilidad)
- React Server 19.1.* (todas las versiones 19.1.x)
- React Server 19.2.0
Versiones afectadas de Next.js
- Next.js v15.0.0 - v15.0.4
- Next.js v15.1.0 - v15.1.8
- Next.js v15.2.x - v15.5.6
- Next.js v16.0.0 - v16.0.6
- Next.js v14.3.0-canary.77 y versiones Canary posteriores
Otros componentes afectados
- Dify - plataforma de desarrollo de aplicaciones de IA
- NextChat - framework de aplicaciones de chat
- Otras aplicaciones construidas con versiones afectadas de React Server Components o Next.js
Nota: Si su aplicación utiliza cualquiera de las versiones anteriores, se recomienda actualizar inmediatamente a una versión segura o tomar las medidas de protección adecuadas.
✨ Características
🎯 Funciones principales
- Detección de vulnerabilidades: detecta rápidamente si el objetivo presenta la vulnerabilidad RCE de React Server Components / Next.js
- Salida de comandos: ejecuta comandos del sistema directamente y obtiene la salida
- Inyección de webshell en memoria: inyecta una webshell persistente en el servidor de destino
- Reverse Shell: obtiene un shell interactivo del sistema objetivo
- Escaneo por lotes: admite la detección por lotes de múltiples URLs objetivo para identificar rápidamente sistemas vulnerables
🔧 Funciones auxiliares
- Soporte de proxy: admite la configuración de un proxy HTTP (como Burp Suite) para facilitar el análisis del tráfico
- Cabeceras de solicitud personalizadas: permite añadir cabeceras HTTP personalizadas para evadir protecciones simples
- Registro en tiempo real: los registros de operaciones se muestran en tiempo real para facilitar el seguimiento del proceso de prueba
- Configuración de tiempo de espera: permite personalizar el tiempo de espera de las solicitudes para adaptarse a diferentes entornos de red
🚀 Inicio rápido
Requisitos del entorno
- Java 8 o superior
- Sistemas operativos Windows / Linux / macOS
Iniciar la herramienta
-
Haga doble clic en el archivo React Server Components 远程RCE.jar
-
O iníciela mediante la línea de comandos:
java -jar React Server Components 远程RCE.jar
-
Al iniciarse por primera vez se mostrará el aviso legal; léalo atentamente y acéptelo para continuar usando la herramienta
📋 Guía de uso
1️⃣ Configuración básica
Antes de utilizar cualquier función, debe configurar la información básica:
- URL objetivo: introduzca la dirección del sitio web a probar (por ejemplo:
http://192.168.1.100:3000)
- Ruta de ataque: ruta de la aplicación (por defecto:
/apps, ajustable según el objetivo)
- Tiempo de espera: segundos de tiempo de espera de la solicitud (por defecto: 30 segundos)
- Cabeceras de solicitud personalizadas: opcional, una por línea, con el formato
Header-Name: value
2️⃣ Detección de vulnerabilidades
- Rellene la URL objetivo y la configuración básica
- Haga clic en el botón "Probar vulnerabilidad"
- Espere el resultado de la detección; la herramienta determinará automáticamente si el objetivo presenta la vulnerabilidad
Consejo: se recomienda realizar primero la detección de vulnerabilidades y confirmar que el objetivo es vulnerable antes de continuar con otras operaciones.
🎮 Explicación detallada de los modos de ataque
Modo 1: Salida de comandos
Escenario de uso: cuando se necesita ejecutar comandos del sistema y ver el resultado de la ejecución
Pasos de uso:
- Cambie a la pestaña "Salida de comandos"
- En el campo de entrada de comandos, introduzca el comando a ejecutar (por ejemplo:
whoami, ipconfig, ls -la)
- Haga clic en el botón "Ejecutar comando"
- Consulte el resultado de la ejecución en el área de texto inferior
Ejemplos de comandos habituales:
- Windows:
whoami, ipconfig, dir, net user
- Linux:
whoami, ifconfig, ls -la, uname -a
Modo 2: Inyección de webshell en memoria
Escenario de uso: cuando se necesita dejar una puerta trasera persistente en el servidor de destino
Pasos de uso:
-
Cambie a la pestaña "Inyección de webshell en memoria"
-
Configure la ruta de acceso de la webshell en memoria (por ejemplo: /exec)
-
Haga clic en el botón "Inyectar webshell en memoria"
-
Una vez inyectada correctamente, puede ejecutar comandos de la siguiente manera:
访问:http://目标地址/exec?cmd=whoami
Instrucciones de uso:
- La webshell en memoria se registra en la memoria de la aplicación de destino y no deja archivos en el disco
- La webshell en memoria deja de ser válida tras reiniciar el servidor
- El comando a ejecutar se pasa mediante el parámetro de URL
cmd
Modo 3: Reverse Shell
Escenario de uso: cuando se necesita obtener un shell interactivo del sistema objetivo
Pasos de uso:
-
Inicie un listener en su máquina local (por ejemplo, con netcat):
nc -lvnp 4444
-
Cambie a la pestaña "Reverse Shell"
-
Introduzca la IP del listener (la dirección IP de su máquina)
-
Introduzca el puerto del listener (por ejemplo: 4444)
-
Haga clic en el botón "Enviar reverse shell"
-
Vuelva a la ventana de netcat y espere la conexión del shell
Notas importantes:
- Asegúrese de que el servidor de destino pueda acceder a su IP y puerto de escucha
- El cortafuegos debe permitir las conexiones entrantes en el puerto correspondiente
- En entornos reales puede estar sujeto a restricciones de políticas de red
Modo 4: Detección por lotes
Escenario de uso: cuando se necesita escanear múltiples objetivos en busca de vulnerabilidades
Pasos de uso:
- Cambie a la pestaña "Detección por lotes"
- En el cuadro de texto, introduzca la lista de URLs objetivo (una por línea)
- Haga clic en el botón "Iniciar escaneo"
- Revise los resultados del escaneo; la herramienta marcará los objetivos que presentan vulnerabilidades
⚙️ Configuración avanzada
Configurar proxy HTTP
Se utiliza para reenviar el tráfico a herramientas de captura de paquetes como Burp Suite, a fin de facilitar el análisis de solicitudes y respuestas.
Pasos de configuración:
- Haga clic en el menú superior "Configuración" → "Configuración de proxy"
- Seleccione "Habilitar"
- Introduzca el host del proxy (por ejemplo:
127.0.0.1)
- Introduzca el puerto del proxy (por ejemplo:
8080)
- Haga clic en "Guardar"
Configuración de Burp Suite:
- Asegúrese de que el listener de proxy de Burp Suite esté iniciado
- Dirección de escucha por defecto:
127.0.0.1:8080
- En Burp puede interceptar y modificar todas las solicitudes enviadas por la herramienta
Visualización del estado del proxy:
- Una vez configurado, la esquina superior derecha de la interfaz mostrará el estado del proxy
- Verde indica que está habilitado; gris indica que no está configurado
🛡️ Recomendaciones de seguridad