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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/theman001/cve-2025-55182
ماسحات الثغرات الأمنيةتوليد الحمولةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubtheman001/cve-2025-55182

CVE-2025-55182

CVE-2025-55182 React RCE برنامج اختبار

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-55182 (React2Shell)

برنامج اختبار React RCE (CVE-2025-55182)

🔒 ماسح RCE التفاعلي CVE-2025-55182

هذا البرنامج النصي هو أداة التحقق من الثغرات التي تستهدف CVE-2025-55182، وهي ثغرة خطيرة لتنفيذ التعليمات البرمجية عن بُعد (RCE) موجودة في مكونات خادم React (RSC) في React 19.x.

تحدد هذه الأداة ما إذا كانت الثغرة موجودة على خادم حقيقي، ويمكنها تنفيذ الأوامر، أو تسجيل السجلات، أو الاختبار باستخدام طريقة RCE ذات المرحلتين (module#_load) وفقًا للخيارات.

⚠️ يجب استخدام هذه الأداة فقط في بيئة اختبار مغلقة ولأغراض التدقيق الأمني والتحقق من الثغرات.


📋 ملخص ثغرة React2Shell (CVE-2025-55182)

البندالمحتوى
رقم الثغرةCVE-2025-55182 (React) / CVE-2025-66478 (Next.js)
اسم الثغرةReact2Shell
نوع الثغرةتنفيذ التعليمات البرمجية عن بُعد (RCE) – لا يتطلب مصادقة
الخطورة (CVSS)10.0 (حرج)
تاريخ الاكتشاف2025-11-29 (Lachlan Davidson)
صعوبة الهجوممنخفضة جدًا (مستوى Log4Shell)
وصف الثغرةثغرة RCE هيكلية حيث يمكن الوصول إلى سلسلة النموذج الأولي (constructor، __proto__) عبر تدوين القوسين في دالة requireModule() أثناء معالجة إلغاء تسلسل Flight.

🧱 المنتجات والإصدارات المتضررة

المنتج/الأداةالإصدارات المتضررةالإصدارات المصححة
React.js19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpackنفس ما سبق (↑)نفس ما سبق
react-server-dom-parcelنفس ما سبق (↑)نفس ما سبق
react-server-dom-turbopackنفس ما سبق (↑)نفس ما سبق
Next.js 14بعض الإصدارات من 14.3.0.canary.77 فما فوق(بشكل غير رسمي) ينصح بالترقية إلى 15.0.5 أو أعلى
Next.js 1515.0.0 ~ 15.5.615.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 15.6.0
Next.js 1616.0.0 ~ 16.0.616.0.7
أدوات أخرىReact Router RSC, RedwoodJS, Vite RSC Plugin, Parcel RSC Plugin إلخ.يتطلب تصحيح تبعية RSC للمشروع المعني.

✅ المشاريع التي تحتوي على ميزات RSC يجب أيضًا ترقية وحدات react-server-dom-* إلى أحدث إصدار بشكل منفصل عن React لضمان الأمان.


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

  • 🗂️ هيكل الدليل
  • 🧩 الميزات الرئيسية
  • 📦 طريقة التثبيت
  • 🚀 أمثلة التشغيل
  • 💬 مثال لإدخال الأوامر التفاعلية
  • ⚠️ تحذيرات الأمان
  • 📚 مراجع تقنية
  • 📄 الترخيص وشروط الاستخدام

🗂️ هيكل الدليل

root@kitploit:~
CVE-2025-55182/
├── README.md                     # نظرة عامة وتعليمات استخدام الماسح
├── DETECTION_RULES.md            # مجموعة قواعد الكشف/المنع
├── 설명 및 탐지규칙.md             # شرح قواعد الكشف بالكورية
├── cve_2025_55182_interactive.py # سكريبت ماسح التحقق من RCE
├── requirements.txt              # قائمة تبعيات الماسح
├── setup_vulnerable_env.sh       # سكريبت تثبيت البيئة الضعيفة دفعة واحدة
├── uninstall_vulnerable_env.sh   # سكريبت تنظيف/إزالة البيئة الضعيفة
└── vulnerable-react-env/         # كود تدريبي لخادم React2Shell الضعيف
    ├── README.md                 # تعليمات استخدام بيئة التدريب
    ├── package.json              # سكريبتات npm والتبعيات
    ├── server.js                 # الواجهة الخلفية Express الضعيفة
    ├── public/
    │   └── index.html            # واجهة React أمامية قائمة على CDN
    └── .gitignore

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

✅ اختبار تفاعلي لمعرفة ما إذا كان RCE ممكنًا على خادم ضعيف
✅ دعم طريقة child_process#execSync (الافتراضية) أو module#_load
✅ حفظ نتائج تنفيذ الأوامر في ملف سجل
✅ إرسال أوامر النظام التي يدخلها المستخدم مباشرة إلى الخادم


📦 طريقة التثبيت

root@kitploit:~
git clone <this-repo>
cd <this-repo>
pip install -r requirements.txt

🚀 أمثلة التشغيل

  1. اختبار RCE الأساسي (طريقة execSync)

    • تنفيذ الأوامر باستخدام child_process.execSync()
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce
  2. اختبار RCE ذو المرحلتين (طريقة module#_load)

    • إنشاء ملف JS ضار ثم تشغيله عبر module#_load
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad
  3. اختبار RCE قائم على RSC (خيار --rce2)

    • تنفيذ الحمولة عبر مسار معالجة مكونات الخادم في Next.js
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce2
  4. حفظ نتائج تنفيذ الأوامر في سجل

    • حفظ نتائج جميع الأوامر في ملف سجل محدد
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --log rce_output.log
  5. استخدام جميع الوظائف (طريقة + سجل)

    • الجمع بين طريقة moduleLoad وحفظ السجل
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad --log rce_output.log
  6. طباعة الحمولة لتصحيح الأخطاء

    • طباعة الحمولة في وحدة التحكم قبل إرسالها إلى الخادم
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --debug

🚧 بيئة تدريب خادم React الضعيف (OCI/Ubuntu)

يحتوي المجلد vulnerable-react-env على خادم React + Express ضعيف عمدًا يمكنه إعادة إنتاج CVE-2025-55182.

  1. إعداد سريع دفعة واحدة (موصى به)
    • قم بتشغيل ./setup_vulnerable_env.sh لتثبيت حزم apt → تثبيت nvm/Node.js 20 → npm install دفعة واحدة.
    • بعد الانتهاء، قم بتشغيل الخادم باستخدام cd vulnerable-react-env && npm start أو npm run dev.
    • ⚠️ إذا أدخلت npm run فقط، فسيتم عرض قائمة السكريبتات فقط. تأكد من تحديد اسم السكريبت مثل npm start (أو npm run start).
    • لتنظيف البيئة، استخدم ./uninstall_vulnerable_env.sh لإزالة node_modules، والحمولة moduleLoad، و(اختياريًا) Node 20 و nvm.
    • ❗️ في حالة حدوث خطأ تبعية مثل ERR_MODULE_NOT_FOUND: Cannot find package 'express'، قم بتشغيل cd vulnerable-react-env && npm install لتثبيت node_modules ثم أعد تشغيل npm start.
  2. الإعداد اليدوي (بديل)
    • sudo apt update && sudo apt install -y curl build-essential
    • curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh -o /tmp/install_nvm.sh && bash /tmp/install_nvm.sh
    • nvm install 20 && nvm use 20
    • cd vulnerable-react-env && npm install
    • npm start (المنفذ الافتراضي: 3000)
  3. تجربة الثغرة
    • بعد فتح http://localhost:3000 في المتصفح، أرسل _payload و cmd عبر النموذج
    • أو استخدم مثال curl في vulnerable-react-env/README.md لإعادة إنتاج تدفق RCE

⚠️ يُمنع الاستخدام لأغراض غير البحث/التعليم. لا تعرضه للإنترنت.


💬 مثال لإدخال الأوامر التفاعلية

💬 أمر النظام المراد إدخاله: whoami
✅ رمز الاستجابة: 200
📄 محتوى الاستجابة: {"success":true,"result":"www-data"}

💬 أمر النظام المراد إدخاله: id
✅ رمز الاستجابة: 200
📄 محتوى الاستجابة: {"success":true,"result":"uid=1000(hacker) gid=1000(hacker)"}

💬 أمر النظام المراد إدخاله: exit
👋 يتم الإنهاء.


⚠️ تحذيرات الأمان

❌ لا تستخدمه أبدًا في بيئة إنتاج.
✅ يجب استخدام هذا السكريبت فقط في بيئة اختبار محلية أو جهاز افتراضي معزول.
🛠️ طريقة --method moduleLoad تنشئ ملفًا حقيقيًا /tmp/evil.js.
🧾 عند استخدام خيار --log، يتم حفظ المخرجات كنص عادي، لذا قيّد الوصول إلى الملف.
🔐 تتحقق جميع الطلبات من تنفيذ كود JavaScript فعلي على الخادم الضعيف.


📚 مراجع تقنية

  • CVE الرسمي: CVE-2025-55182

  • طرق الاستغلال:

    1. child_process#execSync
    2. vm#runInThisContext
    3. fs#writeFileSync
    4. module#_load
  • تدفق الهجوم:

    1. إرسال multipart/form-data خاص إلى نقطة النهاية /formaction
    2. يقوم الخادم باستدعاء requireModule()
    3. يحدث RCE عبر سلسلة النموذج الأولي أو تنفيذ دالة مقيدة

📄 الترخيص وشروط الاستخدام

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

جميع المسؤوليات القانونية الناتجة عن استخدام هذه الأداة تقع على عاتق المستخدم نفسه.

تنزيل الأداة