
يقوم هذا السكربت بفحص قائمة عناوين URL لتحديد ما إذا كانت تستخدم **Next.js** ويحدد ما إذا كانت معرّضة للثغرة **CVE-2025-29927**. كما يحاول الاستغلال بشكل اختياري باستخدام قائمة كلمات.
يقوم هذا البرنامج النصي بفحص قائمة عناوين URL لمعرفة ما إذا كانت تستخدم Next.js ويحدد ما إذا كانت عرضة لثغرة CVE-2025-29927. كما يحاول استغلال الثغرة اختياريًا باستخدام قائمة كلمات.
# Clone the repository
git clone https://github.com/ferpalma21/Automated-Next.js-Security-Scanner-for-CVE-2025-29927.git
cd Automated-Next.js-Security-Scanner-for-CVE-2025-29927.git
# Install dependencies
npm install
شغّل البرنامج النصي بخيارات مختلفة:
node index.js -u "https://example.com" -v
node index.js -u "https://example.com"
node index.js -u "https://site1.com, https://site2.com"
node index.js -f urls.txt
node index.js -u "https://example.com" -o results.txt
node index.js -u "https://example.com" -v
node index.js -u "https://example.com" -a -w wordlist.txt
-v): سجلات مفصلة تُطبع في وحدة التحكم.-v مضبوطًا، تُطبع النتائج بصيغة JSON.-o): يحفظ الثغرات المكتشفة في ملف.Analyzing: https://example.com
https://example.com is running Next.js version: 13.5.9.
Potentially vulnerable to CVE-2025-29927.
قم بالترقية إلى Next.js 14.2.25 أو 15.2.3 أو إصدار أحدث. إذا لم يكن الترقية ممكنة، قم بحظر ترويسة x-middleware-subrequest على مستوى WAF أو الخادم. الإصدارات المصححة: 15.2.3, 14.2.25, 13.5.9, 12.3.5
هذا المشروع مرخّص بموجب رخصة MIT.
| الخيار | الاسم المستعار | الوصف |
|---|
-u | --urls | قائمة بعناوين URL (مفصولة بمسافات/فواصل) |
-f | --file | ملف يحتوي على عناوين URL (واحد في كل سطر) |
-c | --chrome | مسار Chromium (الافتراضي: /snap/bin/chromium) |
-o | --output | ملف لحفظ نتائج المواقع المعرضة للثغرة |
-v | --verbose | يفعّل الإخراج المفصل |
-r | --redirect | يتابع عمليات إعادة التوجيه (اختياري، قد يؤدي إلى نتائج إيجابية خاطئة) |
-a | --attack | يحاول الاستغلال (استخدم بحذر) |
-w | --wordlist | ملف قائمة كلمات للاستغلال |
-t | --headless | يشغّل Puppeteer في وضع headless |
-x | --headers | إذا فشل الاستغلال، سيعيد المحاولة بترويسات مختلفة |