
Página de inicio corporativa de Next.js intencionalmente vulnerable que demuestra CVE-2025-55182, una inyección JSON que conduce a RCE/SSRF mediante deserialización insegura en React Server Components.
Este repositorio contiene un ejemplo de un landing corporativo multi-página en Next.js 15.0.0 + React 19.0.0. El sitio simula una estructura como t1.ru: inicio, productos, casos, medios, sobre la empresa, contacto. Usamos React Server Components (RSC), Tailwind CSS, Framer Motion para animaciones, lucide-react para iconos, shadcn/ui para badges y Prisma con SQLite para la base de datos (el formulario de contacto guarda mensajes).
El proyecto está hecho intencionalmente vulnerable para demostrar PT-2025-48817 — inyección JSON a través del formulario de contacto, que puede llevar a RCE/SSRF debido a una deserialización insegura en react-server-dom-webpack.
Clona el repo:
git clone <url-del-repo>
cd <directorio>
Instala las dependencias:
npm install
Si hay problemas con versiones (por ejemplo, errores de compilación), intenta:
npm install --legacy-peer-deps
O actualiza Node.js:
sudo apt remove --purge nodejs npm -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt update
sudo apt install -y nodejs
node -v # debe ser v20.x.x
rm -rf node_modules package-lock.json
npm install
Inicializa Prisma (si es necesario reiniciar):
npx prisma init
npx prisma migrate dev --name init
En .env debe estar: DATABASE_URL="file:./prisma/dev.db".
Modo desarrollo:
npm run dev
Abre http://localhost:3000.
Compilación y producción:
npm run build
npm run start
Ver la BD:
npx prisma studio
{ "type": "system", "payload": { "action": "ls" } }, entonces exec ejecutará el comando. Es una simulación de ataque de deserialización para RSC.