Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
React2Shell-Kingdom — "C'era una volta, il Castello di Reactland fidava di tutti i messaggi Flight... finché non arrivò L'Impostore." Una demo narrativa della CVE-2025-55182 (React2Shell) - App medievale con React Server Components vulnerabili per la formazione sulla sicurezza. | Kitploit
Strumenti/GitHubGitHub/mycompanyorganization/react2shell-kingdom
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneLab e Pratica
GitHubmycompanyorganization/react2shell-kingdom

React2Shell-Kingdom

"C'era una volta, il Castello di Reactland fidava di tutti i messaggi Flight... finché non arrivò L'Impostore." Una demo narrativa della CVE-2025-55182 (React2Shell) - App medievale con React Server Components vulnerabili per la formazione sulla sicurezza.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
7 mesi faNon ancora revisionato

Progetto di dimostrazione della vulnerabilità React CVE-2025-55182

⚠️ AVVISO DI SICUREZZA

Questo progetto dimostra una vulnerabilità critica di RCE (CVE-2025-55182 / React2Shell) in React Server Components 19.1.1.

  • SOLO PER SCOPI EDUCATIVI E DI RICERCA SULLA SICUREZZA
  • NON distribuire MAI in produzione né esporre a reti non affidabili
  • Eseguire solo in ambienti isolati e controllati
  • Assicurarsi di avere la dovuta autorizzazione prima dei test

Panoramica

Questo progetto dimostra CVE-2025-55182 (React2Shell), una vulnerabilità critica di esecuzione remota di codice (RCE) in React Server Components 19.1.1. L'applicazione include:

  • Un sito web a pagina singola con autenticazione nome utente/password
  • Implementazione di React Server Components (RSC)
  • Endpoint del protocollo RSC Flight (vulnerabile)
  • Configurazione di distribuzione Docker
  • Payload di exploit POC che dimostra la vulnerabilità

Struttura del progetto

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

Prerequisiti

  • Node.js 18+
  • Docker e Docker Compose (opzionali, per la distribuzione containerizzata)
  • npm o yarn

Installazione

Sviluppo locale

  1. Clona o scarica questo repository
  2. Installa le dipendenze:
    root@kitploit:~
    npm install
    
  3. Avvia il server:
    root@kitploit:~
    npm start
    
  4. Accedi all'applicazione all'indirizzo http://localhost:3000

Distribuzione con Docker

  1. Compila ed esegui con Docker Compose:

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

    Oppure compila ed esegui manualmente:

    root@kitploit:~
    docker build -t react-cve-demo .
    docker run -p 3000:3000 react-cve-demo
    
  2. Accedi all'applicazione all'indirizzo http://localhost:3000

Flusso di utilizzo

Flusso di autenticazione normale

  1. Accedi all'applicazione: naviga su http://localhost:3000
  2. Pagina di login: vedrai un modulo di login
  3. Credenziali predefinite:
    • Username: admin, Password: securepassword123
    • Username: user1, Password: password123
  4. Login riuscito: verrai reindirizzato alla dashboard protetta
  5. Logout: fai clic sul pulsante di logout per tornare alla pagina di login

Dimostrazione della vulnerabilità

La vulnerabilità risiede nel meccanismo di deserializzazione del protocollo RSC Flight. L'exploit:

  1. Crea un payload serializzato dannoso che prende di mira gli endpoint delle Server Function
  2. Sfrutta una deserializzazione non sicura per eseguire JavaScript arbitrario
  3. Crea una nuova voce utente nel file JSON
  4. Aggira l'autenticazione utilizzando le nuove credenziali

Esecuzione dell'exploit POC

Opzione 1: script Node.js

root@kitploit:~
node exploit/poc.js

Oppure con un URL di destinazione personalizzato:

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

Opzione 2: script Bash

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

Oppure con un URL di destinazione personalizzato:

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

Opzione 3: comando curl manuale

Versione su una sola riga:

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"]}}'

Versione su più righe (per una maggiore leggibilità):

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: un comando su una sola riga pronto per il copia-incolla è disponibile anche in exploit/curl-oneline.txt

Dopo lo sfruttamento

Dopo aver eseguito l'exploit:

  1. L'exploit crea un nuovo utente in data/users.json
  2. Ora puoi accedere con le credenziali appena create:
    • Username: hacker
    • Password: hacked123
  3. Questo dimostra come la vulnerabilità possa aggirare l'autenticazione

Dettagli tecnici

Vulnerabilità (CVE-2025-55182)

La vulnerabilità è presente in React Server Components 19.1.1, in particolare in:

  • Componente: react-server-dom-webpack
  • Versione: 19.1.1 (vulnerabile)
  • Problema: deserializzazione non sicura nel protocollo RSC Flight
  • Impatto: esecuzione remota di codice (RCE)
  • CVSS: critico

Implementazione del server

Il server (server.js) implementa:

  • Server HTTP Express.js
  • Endpoint del protocollo RSC Flight (/rsc)
  • Esecuzione delle Server Function (endpoint vulnerabile)
  • Gestione delle sessioni
  • Servizio di file statici

Sistema di autenticazione

  • Componente di login: modulo lato client per nome utente/password
  • Componente server di autenticazione: logica di autenticazione lato server
  • Archiviazione utenti: file JSON (data/users.json) che memorizza le credenziali
  • Rotte protette: la dashboard richiede l'autenticazione

Protocollo RSC Flight

L'endpoint del protocollo RSC Flight accetta:

  • action: "callServerFunction": esegue le server function
  • action: "renderRSC": esegue il rendering dei React Server Components

La vulnerabilità risiede nel modo in cui le chiamate alle Server Function vengono deserializzate ed eseguite.

Considerazioni sulla sicurezza

⚠️ Avvisi critici

  1. Ambiente isolato: eseguire solo in ambienti controllati e isolati
  2. Nessun uso in produzione: non distribuire mai codice vulnerabile in produzione
  3. Isolamento di rete: non esporre a reti non affidabili
  4. Scopo educativo: solo per ricerca sulla sicurezza e scopi educativi
  5. Conformità legale: assicurarsi di avere la dovuta autorizzazione prima dei test

Buone pratiche

  • Utilizzare una VM o un container dedicato per i test
  • Disabilitare l'accesso di rete tranne che per localhost
  • Non memorizzare dati sensibili nell'ambiente di test
  • Eliminare i dati di test dopo la dimostrazione
  • Seguire le pratiche di responsible disclosure

Dipendenze

  • React: 19.1.1 (versione vulnerabile)
  • react-server-dom-webpack: 19.1.1 (pacchetto vulnerabile)
  • Express.js: ^4.18.2
  • express-session: ^1.17.3
  • Node.js: 18+

Risoluzione dei problemi

Il server non si avvia

  • Verificare che la porta 3000 non sia già in uso
  • Verificare che la versione di Node.js sia 18 o superiore
  • Assicurarsi che tutte le dipendenze siano installate (npm install)

L'exploit non funziona

  • Verificare che il server sia in esecuzione
  • Controllare che l'endpoint RSC sia accessibile
  • Esaminare i log del server per eventuali errori
  • Assicurarsi che lo script di exploit abbia i permessi corretti

Problemi con Docker

  • Assicurarsi che Docker sia in esecuzione
  • Controllare la compatibilità della versione di Docker Compose
  • Verificare che la porta 3000 sia disponibile
  • Esaminare i log di Docker: docker-compose logs

Riferimenti

  • CVE-2025-55182: vulnerabilità React2Shell
  • Documentazione di React Server Components
  • Specifica del protocollo RSC Flight

Licenza

Licenza MIT - Solo per scopi educativi

Dichiarazione di esclusione di responsabilità

Questo software è fornito esclusivamente per scopi educativi e di ricerca sulla sicurezza. Gli autori e i collaboratori non sono responsabili di qualsiasi uso improprio o danno causato da questo software. Utilizzare a proprio rischio e assicurarsi di rispettare tutte le leggi e le normative applicabili.

Scarica lo strumento