
Pagina di destinazione aziendale Next.js volutamente vulnerabile che dimostra CVE-2025-55182, un'iniezione JSON che porta a RCE/SSRF tramite deserializzazione non sicura in React Server Components.
Questo è un repository di esempio di una landing page aziendale multipagina con Next.js 15.0.0 + React 19.0.0. Il sito simula una struttura simile a t1.ru: home, prodotti, case study, media, azienda, contatti. Utilizza React Server Components (RSC), Tailwind CSS, Framer Motion per animazioni, lucide-react per icone, shadcn/ui per badge e Prisma con SQLite per il database (il modulo contatti salva i messaggi).
Il progetto è stato reso intenzionalmente vulnerabile per dimostrare PT-2025-48817 – un'iniezione JSON attraverso il modulo contatti, che può portare a RCE/SSRF a causa di deserializzazione non sicura in react-server-dom-webpack
Clona il repository:
git clone <url-del-repo>
cd <directory>
Installa le dipendenze:
npm install
Se ci sono problemi con le versioni (ad es. errori di build), prova con:
npm install --legacy-peer-deps
Oppure aggiorna 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 # deve essere v20.x.x
rm -rf node_modules package-lock.json
npm install
Inizializza Prisma (se necessario da capo):
npx prisma init
npx prisma migrate dev --name init
In .env deve esserci: DATABASE_URL="file:./prisma/dev.db".
Modalità sviluppo:
npm run dev
Apri http://localhost:3000.
Build e produzione:
npm run build
npm run start
Visualizzazione DB:
npx prisma studio
{ "type": "system", "payload": { "action": "ls" } }, allora exec eseguirà il comando. Simula un attacco di deserializzazione per RSC