
ماسح آلي لثغرة CVE-2019-12102 لتحميل الملفات بدون مصادقة في نظام Kentico CMS. يفحص النطاقات، ويتحقق باستخدام معامل التجزئة (hash)، ويخرج الأهداف المحتملة والمؤكدة المعرضة للخطر.
أداة ماسح CVE-2019-12102 هي أداة آلية لفحص ثغرة رفع الملفات غير المصادق عليها / كشف الملفات في Kentico CMS الإصدارات 11 إلى 12. تنجم هذه الثغرة عن التحكم غير السليم في الوصول إلى نقطة النهاية /cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx. تتحقق الأداة مما إذا كان النطاق معرضًا للخطر عن طريق التحقق من الاستجابة من نقطة النهاية وتحفظ النتائج في ملفات منفصلة للنطاقات المعرضة للخطر المحتمل والمعرضة للخطر المؤكد.
تسمح ثغرة CVE-2019-12102 للمهاجمين بـ:
يمكن الوصول إلى نقطة النهاية المعرضة للخطر () دون مصادقة إذا لم يتم التحقق من معامل بشكل صحيح. إذا تم إعادة توجيه عنوان URL إلى ، يُعتبر النطاق معرضًا للخطر.
/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspxhash/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=Ctrl+C).requests, coloramaاستنساخ هذا المستودع:
git clone https://github.com/Egi08/CVE-2019-12102-Scanner.git
cd CVE-2019-12102-Scanner
تثبيت التبعيات:
pip install -r requirements.txt
(إذا كان ملف requirements.txt غير موجود، قم بإنشائه بالمحتوى التالي):
requests
colorama
قم بإعداد ملف إدخال (domains.txt) يحتوي على قائمة النطاقات، كل نطاق في سطر منفصل. مثال:
example.com
another-example.com
vulnerable-site.com
python cve_2019_12102_scanner.py -l <input_file> -p <potentially_output_file> -c <confirmed_output_file>
-l, --list: المسار إلى الملف الذي يحتوي على قائمة النطاقات (مطلوب).-p, --potentially: ملف الإخراج للنطاقات المعرضة للخطر المحتمل (اختياري، الافتراضي: potentially_vulnerable.txt).-c, --confirmed: ملف الإخراج للنطاقات المعرضة للخطر المؤكد (اختياري، الافتراضي: confirmed_vulnerable.txt).python cve_2019_12102_scanner.py -l domains.txt -p potentially_vulnerable.txt -c confirmed_vulnerable.txt
[*] Starting vulnerability scanner for CVE-2019-12102...
[*] Checking: http://example.com
[-] Not Vulnerable: http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] Checking: http://vulnerable-site.com
[+] Potentially Vulnerable: http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] Confirmed Vulnerable: http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] Results saved:
Potentially Vulnerable domains saved to potentially_vulnerable.txt
Confirmed Vulnerable domains saved to confirmed_vulnerable.txt
potentially_vulnerable.txt)http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
confirmed_vulnerable.txt)http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
الاختبار الأخلاقي:
المهلة الزمنية:
requests.get:
response = requests.get(full_url, timeout=20) # مهلة 20 ثانية
معالجة الأخطاء:
الحفظ الآمن:
Ctrl+C).معامل التجزئة:
test_hash حاليًا مثال التجزئة (13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf). قم بتعديله إذا لزم الأمر.نرحب بالمساهمات! إذا كنت ترغب في المساهمة، يرجى:
git checkout -b feature/your-feature-name
git commit -m "أضف تغييراتك هنا"
git push origin feature/your-feature-name
هذا المشروع مرخص بموجب رخصة MIT. راجع ملف LICENSE لمزيد من التفاصيل.
بفضل هذه الوثائق، يمكنك بسهولة رفع السكربت إلى GitHub وتقديم تعليمات واضحة للآخرين لاستخدام الأداة.