
# ماسح Python يكتشف حالات Next.js المعرّضة لثغرة CVE-2025-29927، ويحدد الإصدارات، ويختبر تجاوز المصادقة عبر ترويسة x-middleware-subrequest مع فحص متوازٍ متعدد الخيوط.
يحدد هذا السكربت المكتوب بلغة Python المضيفين المعرضين لثغرة CVE-2025-29927، وهي ثغرة تفويض غير سليمة في البرمجيات الوسيطة لـ Next.js قد تسمح بتجاوز المصادقة. يتحقق السكربت من استخدام Next.js، ويحدد الإصدار، ويكتشف رأس x-middleware-subrequest، ويختبر احتمالية تجاوز المصادقة على مسارات محددة.
تحذير: هذا السكربت مخصص لأغراض تعليمية ومراجعات الأمان المصرح بها فقط. الاستخدام غير المصرح به على أنظمة دون إذن صريح غير قانوني وغير أخلاقي.
استنسخ أو حمّل هذا المستودع: git clone <REPOSITORY_URL> cd cve-2025-29927-scanner
أنشئ وفعّل بيئة افتراضية (اختياري لكنه موصى به): python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
ثبّت التبعيات: pip install -r requirements.txt
جهّز ملف hosts.txt يحتوي على قائمة المضيفين (مضيف واحد لكل سطر). مثال: example.com subdomain.example.com another-site.com
(اختياري) جهّز ملف routes.txt يحتوي على المسارات المراد اختبارها (مسار واحد لكل سطر). مثال: api/auth dashboard admin إذا لم يتم توفيره، سينشئ السكربت تلقائيًا ملف routes.txt بمسارات افتراضية.
شغّل السكربت:
الوسائط: -f, --file: الملف الذي يحتوي على قائمة المضيفين (مطلوب). -r, --routes: الملف الذي يحتوي على قائمة المسارات (اختياري؛ يُستخدم routes.txt إذا لم يُحدد). -t, --threads: الحد الأقصى لعدد الخيوط (الافتراضي: 10).
تحقق من النتائج في مخرجات الطرفية.
مثال على المخرجات
File routes.txt created with default routes.
Starting scan on 3 hosts with 3 routes...
Scan results:
------------------------------------------------------------
Host: https://example.com
Next.js detected: True
Version: 13.5.6
x-middleware-subrequest header: True
Vulnerable (version): True
Authentication bypass possible: True
Status: VULNERABLE
------------------------------------------------------------
التبعيات مدرجة في ملف requirements.txt:
المساهمات مرحب بها