
ماسح ضوئي للكشف عن وجود CVE-2025-55182 و CVE-2025-66478 على خدمات الويب المستهدفة.
ماسح آمن غير هجومي لاكتشاف ثغرات تنفيذ التعليمات البرمجية عن بُعد في مكونات React (RSC) و Next.js (CVE-2025-55182 و CVE-2025-66478).
يساعد هذا الماسح المؤسسات في تحديد ما إذا كانت خدماتها الإلكترونية معرضة لثغرة React2Shell، والتي تؤثر على التطبيقات التي تستخدم مكونات React Server و Next.js. تتيح الثغرة للمهاجمين تحقيق تنفيذ تعليمات برمجية عن بُعد من خلال بيانات نموذجية متعددة الأجزاء مصممة خصيصًا.
هام: يستخدم هذا الماسح طرق كشف جانبية آمنة فقط ولا ينفذ أي تعليمات برمجية على الأنظمة الهدف.
طريقة كشف آمنة
خيارات مسح مرنة
/_next، /api)خيارات الإخراج
pip install -r requirements.txt
أو التثبيت يدويًا:
pip install requests tqdm urllib3
مسح عنوان URL واحد:
python scanner.py -u https://example.com
مسح مضيفين متعددين من ملف:
python scanner.py -l hosts.txt
المسح بمسارات مخصصة:
python scanner.py -u https://example.com --path /_next --path /api
المسح بمسارات من ملف:
python scanner.py -u https://example.com --path-file paths.txt
رؤوس مخصصة:
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "X-Custom: value"
المسح متعدد الخيوط:
python scanner.py -l hosts.txt -t 20
تصدير النتائج إلى JSON:
python scanner.py -l hosts.txt -o results.json
تصدير جميع النتائج (بما في ذلك غير الثغرة):
python scanner.py -l hosts.txt -o results.json --all-results
الوضع التفصيلي (إظهار التفاصيل لجميع المضيفين):
python scanner.py -l hosts.txt -v
الوضع الصامت (إظهار المضيفين الثغرة فقط):
python scanner.py -l hosts.txt -q
تعطيل الألوان:
python scanner.py -l hosts.txt --no-color
مضيف واحد في كل سطر. الأسطر التي تبدأ بـ # يتم تجاهلها.
https://example.com
http://test.example.org
another-site.com
# هذا تعليق
مسار واحد في كل سطر. سيتم إضافة / تلقائيًا في بداية المسار إذا لم يكن موجودًا.
/_next
/api
/actions
# أسطر التعليقات يتم تجاهلها
يستخدم الماسح طريقة كشف غير هجومية تقوم بـ:
رسائل خطأ JavaScript
SyntaxError - تشير إلى تحليل غير صحيح لـ JSON لبيانات النموذجUnexpected token - تشير إلى إلغاء تسلسل RSC ثغرةReferenceError / TypeError - تكشف عن وصول غير آمن لخصائص الكائناستجابات خطأ خاصة بـ RSC
text/x-componentVary: RSC, Next-Router-State-Tree){"digest":"..."})$@, كائنات الخطأ)يكتشف الماسح كلاً من رسائل الخطأ التفصيلية (الإصدارات الأقدم) واستجابات خطأ RSC المنظمة (الإصدارات الأحدث)، مما يضمن تغطية شاملة عبر تطبيقات Next.js المختلفة.
هام: هذه الطريقة لا تنفذ أي تعليمات برمجية على النظام الهدف. إنها تكتشف فقط ما إذا كان النظام ثغرة من خلال مراقبة استجابات الخطأ.
python scanner.py -u https://myapp.com
# إنشاء ملف مضيفين بجميع مجالاتك
python scanner.py -l organization-hosts.txt -t 20 -o scan-results.json
# إنشاء ملف paths.txt بنقاط نهاية Next.js الشائعة
python scanner.py -l hosts.txt --path-file paths.txt -o results.json
python scanner.py -u https://myapp.com -H "Cookie: session=abc123" -H "Authorization: Bearer token"
سيقوم الماسح بوضع علامة على المضيف كـ VULNERABLE إذا اكتشف:
عندما يكتشف الماسح ثغرة، فهذا يعني:
0: لم يتم العثور على ثغرات1: تم اكتشاف ثغرة واحدة أو أكثر-t) لتجنب إغراق الأهدافإذا تم العثور على تطبيقك ثغرة:
إجراءات فورية:
الأمان طويل الأمد:
المراجع:
هذه الأداة مخصصة لاختبار الأمان المصرح به فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. المؤلفون غير مسؤولين عن سوء الاستخدام أو الضرر الناجم عن هذا البرنامج.
| الخيار | الوصف |
|---|
-u, --url URL | عنوان URL واحد للمسح |
-l, --list FILE | ملف يحتوي على قائمة بالمضيفين للمسح |
-t, --threads N | عدد الخيوط المتزامنة (الافتراضي: 10) |
--timeout N | مهلة الطلب بالثواني (الافتراضي: 10) |
-o, --output FILE | ملف الإخراج للنتائج (تنسيق JSON) |
--all-results | حفظ جميع النتائج، وليس فقط المضيفين الثغرة |
-k, --insecure | تعطيل التحقق من شهادة SSL |
-H, --header HEADER | رأس مخصص (يمكن استخدامه عدة مرات) |
-v, --verbose | إخراج تفصيلي (إظهار التفاصيل لجميع المضيفين) |
-q, --quiet | وضع صامت (إظهار المضيفين الثغرة فقط) |
--no-color | تعطيل الإخراج الملون |
--path PATH | مسار مخصص للاختبار (يمكن استخدامه عدة مرات) |
--path-file FILE | ملف يحتوي على قائمة بالمسارات للاختبار |