Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2018-25031 — سكريبت إثبات مفهوم مبني على بايثون يوضح ثغرة CVE-2018-25031 XSS في Swagger UI باستخدام Selenium للكشف الآلي عبر نقاط نهاية متعددة. | Kitploit
أدوات/GitHubGitHub/lucasrenaa/cve-2018-25031
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويبالتعلم والتعليمأمن واجهات برمجة التطبيقات
GitHublucasrenaa/cve-2018-25031

CVE-2018-25031

سكريبت إثبات مفهوم مبني على بايثون يوضح ثغرة CVE-2018-25031 XSS في Swagger UI باستخدام Selenium للكشف الآلي عبر نقاط نهاية متعددة.

عرض المستودع
منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

إثبات المفهوم (POC) لـ Cross-Site Scripting في Swagger UI: CVE-2018-25031 باستخدام Selenium في Python

يحتوي هذا المستودع على نص برمجي بلغة Python يوضح إثبات المفهوم (POC) لثغرة Cross-Site Scripting (XSS) في Swagger UI، باستخدام مكتبة Selenium. الهدف من هذا الإثبات هو تحديد المواقع المعرضة لهذه الثغرة من خلال استغلال Swagger UI بحمولة ضارة.

ثغرة Cross-Site Scripting (XSS) في Swagger UI

Swagger UI هي أداة شائعة الاستخدام لعرض والتفاعل مع واجهات برمجة التطبيقات (APIs) من خلال واجهة مستخدم سهلة. ومع ذلك، في الإصدار 2.9.2، تم تحديد ثغرة Cross-Site Scripting (XSS) قد تسمح للمهاجم بحقن كود JavaScript ضار في صفحات Swagger UI المحملة.

يحدث XSS عندما لا يقوم التطبيق بالتحقق بشكل صحيح من البيانات التي يدخلها المستخدم قبل عرضها على الصفحة. في هذه الحالة، يمكن للمهاجم استغلال الثغرة عن طريق إدخال كود JavaScript ضار في حقول الإدخال في Swagger UI، والذي سيتم تنفيذه في سياق متصفح المستخدمين الآخرين الذين يصلون إلى نفس الصفحة المخترقة.

مثال على XSS في Swagger UI

ملاحظة: توضح الصورة أعلاه مثالاً لكيفية قيام المهاجم بإدخال حمولة XSS في Swagger UI، مستغلاً ثغرة أمنية في الإصدارات المتأثرة.

التخفيف والحل

الطريقة الأكثر فعالية للتخفيف من هذه الثغرة هي ضمان تحديث Swagger UI إلى إصدار غير متأثر. تحقق من أحدث إصدارات Swagger UI وحافظ على تحديثها باستمرار.

بالنسبة للمطورين الذين يرغبون في استخدام أو تخصيص Swagger UI، من الضروري إجراء التحقق المناسب من بيانات الإدخال قبل عرضها في الواجهة. يُعد تجنب العرض المباشر لـ HTML أو JavaScript الذي أدخله المستخدم ممارسة موصى بها لتجنب ثغرات XSS.

مثال على الاستغلال

فيما يلي مثال مبسط لكيفية استغلال الثغرة باستخدام Swagger UI:

  1. يصل المهاجم إلى Swagger UI ضعيف.
  2. يحدد المهاجم حقل إدخال يمكنه إدخال نص فيه.
  3. يحقن المهاجم حمولة XSS في عنوان URL، على سبيل المثال: http://127.0.0.1:8080/swagger-ui.html?configUrl=https://xss.smarpo.com/test.json
  4. عندما يصل مستخدمون آخرون إلى نفس الصفحة المخترقة، يتم تنفيذ حمولة XSS في متصفحاتهم، وعرض تنبيه برسالة "ثغرة XSS".

تنبيه

هذا القسم مخصص للأغراض التعليمية والإعلامية فقط. لا تشجع أو تشارك في أنشطة ضارة أو غير قانونية. اتبع دائمًا ممارسات الإفصاح المسؤول عند الإبلاغ عن الثغرات.

المتطلبات الأساسية

تأكد من تثبيت المتطلبات الأساسية التالية قبل تشغيل البرنامج النصي:

  • Python: تأكد من تثبيت Python على جهازك.
  • Selenium: قم بتثبيت مكتبة Selenium باستخدام الأمر التالي:
    root@kitploit:~
    pip install selenium
    
  • ChromeDriver: تأكد من تثبيت ChromeDriver المتوافق. يمكنك تنزيل ChromeDriver من الموقع الرسمي لـ Selenium أو استخدام مدير حزم مثل WebDriver Manager.

كيفية استخدام البرنامج النصي

  1. استنسخ أو قم بتنزيل هذا المستودع على جهازك.

  2. قم بتحرير الملف sites_para_testar.txt وأدخل عناوين URL للمواقع التي ترغب في اختبارها، كل عنوان في سطر منفصل.

  3. افتح محطة طرفية في مجلد المستودع وقم بتشغيل البرنامج النصي باستخدام الأمر التالي:

    root@kitploit:~
    python main.py
    
  4. سيقوم البرنامج النصي بتصفح المواقع المدرجة في الملف sites_para_testar.txt، والوصول إلى عناوين URL الخاصة بـ Swagger UI الخاصة بها، والتحقق من وجود تنبيه XSS تم اكتشافه. سيتم تسجيل النتائج في ثلاثة ملفات: valido.txt لعناوين URL التي يحتمل أن تكون ضعيفة، talvezvalido.txt لعناوين URL التي قد تكون ضعيفة، و naovalido.txt لعناوين URL غير الضعيفة.

فهم البرنامج النصي

يستخدم البرنامج النصي مكتبة Selenium لأتمتة التفاعل مع متصفح Chrome. يقوم بتحميل عناوين URL الخاصة بـ Swagger UI المُعدة في الملف sites_para_testar.txt، ويضيف حمولة ضارة إلى المعامل configUrl، ويتحقق مما إذا تم تشغيل تنبيه XSS.

يتبع البرنامج النصي الخطوات التالية:

  1. استيراد المكتبات اللازمة من Selenium والتبعيات الأخرى.

  2. تكوين خيارات ChromeDriver لتجاهل أخطاء SSL والشهادة.

  3. تهيئة مشغل Chrome.

  4. قراءة المواقع المراد اختبارها من الملف sites_para_testar.txt والتكرار عليها.

  5. فتح كل عنوان URL من Swagger UI مع إضافة الحمولة الضارة.

  6. محاولة التحقق مما إذا تم تشغيل تنبيه XSS.

  7. بناءً على نتيجة التحقق، تسجيل عناوين URL في الملفات valido.txt أو talvezvalido.txt أو naovalido.txt.

  8. إنهاء مشغل Chrome.

إخلاء المسؤولية القانونية

يتم توفير هذا البرنامج النصي للأغراض التعليمية والتوعوية حول الأمن السيبراني فقط. لا ينبغي استخدامه لأغراض ضارة أو غير قانونية. لا يتحمل المؤلف أي مسؤولية عن أي استخدام غير مناسب لهذا البرنامج النصي أو عن أي أضرار ناتجة عن استخدامه.

المساهمة

إذا وجدت أي طريقة لتحسين هذا البرنامج النصي أو كانت لديك اقتراحات، فلا تتردد في إنشاء طلب سحب (Pull Request).

الترخيص

هذا المشروع مرخص بموجب رخصة MIT.

تنزيل الأداة