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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Ghostcat-Tomcat-AJP-Exploit-Py3 — سكريبت استغلال تمت إعادة صياغته بالكامل ومتوافق مع بايثون 3 لثغرة Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) AJP لإدراج الملفات المحلية | Kitploit
أدوات/GitHubGitHub/si1ence90/ghostcat-tomcat-ajp-exploit-py3
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالتعلم والتعليم
GitHubsi1ence90/ghostcat-tomcat-ajp-exploit-py3

Ghostcat-Tomcat-AJP-Exploit-Py3

سكريبت استغلال تمت إعادة صياغته بالكامل ومتوافق مع بايثون 3 لثغرة Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) AJP لإدراج الملفات المحلية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد

أداة الكشف عن ثغرة Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487)

مقدمة

يوفر هذا المشروع نصاً برمجياً بلغة Python للتحقق من ثغرة تضمين الملفات المحلية في بروتوكول AJP لخادم Apache Tomcat (المعروفة باسم Ghostcat، CVE-2020-1938 / CNVD-2020-10487).

تمت إعادة بناء وإصلاح شامل لهذا النص البرمجي استناداً إلى إصدار Python 2 الأصلي المنتشر، وهو متوافق تماماً مع بيئة Python 3. تم إصلاح مشاكل التوافق مع StringIO، وترميز base64، وربط البيانات الثنائية مع السلاسل النصية، مما عزز الاستقرار على أنظمة التشغيل الحديثة.

مبدأ الثغرة

عند معالجة Apache Tomcat لبروتوكول AJP (Apache JServ Protocol)، يكون المنفذ 8009 مفتوحاً افتراضياً، ولا يتم إجراء تدقيق أمني صارم على سمات الطلب الواردة. يمكن للمهاجم إنشاء طلب AJP خبيث يحقن سمات مثل javax.servlet.include.request_uri و javax.servlet.include.path_info و javax.servlet.include.servlet_path:

  1. قراءة ملف عشوائي (LFI): خداع DefaultServlet في Tomcat لقراءة أي ملف داخل دليل تطبيق الويب (مثل WEB-INF/web.xml، ملفات التهيئة، إلخ).
  2. تنفيذ تعليمات برمجية عن بعد (RCE): إذا كان الخادم المستهدف يعاني من ثغرة رفع ملفات، يمكن للمهاجم أولاً رفع ملف عادي (مثل txt، png) يحتوي على كود JSP خبيث، ثم استغلال ثغرة AJP لإجبار JspServlet على تحليل وتجميع هذا الملف كملف JSP، مما يؤدي إلى تنفيذ أوامر عن بعد.

ملاحظة: تدعم هذه الثغرة فقط تضمين الملفات المحلية (LFI)، ولا تدعم تضمين الملفات البعيدة المباشر (RFI).

المتطلبات البيئية

  • Python 3.6+
  • يستخدم فقط مكتبات Python القياسية، ولا حاجة لتثبيت تبعيات خارجية إضافية.

طريقة الاستخدام

صيغة سطر الأوامر:

root@kitploit:~
python CNVD-2020-10487-Tomcat-Ajp-lfi.py <IP_الهدف> [-p المنفذ_الهدف] [-f مسار_الملف_الهدف]

شرح المعاملات:

  • target (إجباري): عنوان IP أو اسم نطاق المضيف الهدف.
  • -p, --port (اختياري): منفذ AJP، الافتراضي هو 8009.
  • -f, --file (اختياري): المسار النسبي للملف الهدف المراد قراءته، الافتراضي هو WEB-INF/web.xml.

أمثلة الاستخدام:

  1. الكشف الأساسي (قراءة web.xml الافتراضي):

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1
    
  2. تحديد المنفذ والملف (قراءة ملف تهيئة مخصص):

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.100 -p 8009 -f WEB-INF/classes/application.properties
    

الإصلاح والدفاع

إذا كان نظامك متأثراً بهذه الثغرة، يُوصى باتخاذ إجراءات الحماية التالية فوراً:

  1. ترقية Tomcat: التحديث إلى الإصدارات الأمنية الرسمية (9.0.31، 8.5.51، 7.0.100 أو أحدث).
  2. تعطيل خدمة AJP: إذا كانت بيئة العمل لا تحتاج إلى اتصال وكيل عكسي عبر بروتوكول AJP، يُوصى بتعليق أو حذف تهيئة <Connector port="8009" protocol="AJP/1.3" ... /> في ملف conf/server.xml.
  3. تعزيز مصادقة AJP: إذا كان يجب تشغيل خدمة AJP، قم بإضافة الخاصية requiredSecret (في Tomcat 8.5.51/9.0.31 والإصدارات الأحدث secret) إلى موصل AJP لفرض المصادقة.

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

هذا النص البرمجي مخصص فقط لـ أبحاث أمن الشبكات والتعليم والتدقيق الأمني الداخلي الممتثل للوائح الشركات. يُمنع استخدام هذا النص البرمجي لاستكشاف أو مهاجمة أهداف غير مصرح بها بشكل غير قانوني. يجب على المستخدم الالتزام بالقوانين واللوائح المحلية عند استخدام هذا النص البرمجي. أي عواقب ناتجة عن الاستخدام غير السليم أو غير القانوني يتحملها المستخدم وحده.

تنزيل الأداة