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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-0232 — تحليل الثغرات الأمنية وPoC لثغرة Apache Tomcat - CGIServlet enableCmdLineArguments المتعلقة بتنفيذ التعليمات البرمجية عن بُعد (RCE) | Kitploit
أدوات/GitHubGitHub/jaiguptanick/cve-2019-0232
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأداة الوصول عن بعدتطوير الحمولات
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

تحليل الثغرات الأمنية وPoC لثغرة Apache Tomcat - CGIServlet enableCmdLineArguments المتعلقة بتنفيذ التعليمات البرمجية عن بُعد (RCE)

عرض المستودع
30111منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2019-0232

تحليل الثغرة وإثبات المفهوم (PoC) لـ Apache Tomcat - CGIServlet enableCmdLineArguments لتنفيذ الأكواد عن بُعد (RCE)

فيديو الإثبات المفاهيمي (PoC) متاح على https://www.youtube.com/watch?v=RA7kzuHOWqA

التفاصيل

يحتوي Apache Tomcat على ثغرة أمنية في CGI Servlet، والتي يمكن استغلالها لتحقيق تنفيذ الأكواد عن بُعد (RCE). يمكن استغلال هذه الثغرة فقط عند التشغيل على Windows بإعدادات غير افتراضية مع ملفات دفعية (batch files). واجهة البوابة المشتركة (CGI) هي بروتوكول قياسي يسمح لخوادم الويب بتنفيذ برامج/نصوص عبر طلبات الويب. يتيح هذا البروتوكول أيضًا تمرير وسائط سطر الأوامر إلى النص أو البرنامج الذي يتم تنفيذه عبر معاملات URL. البروتوكول نفسه مُعرَّف في RFC 3875. عند التشغيل على Windows مع تفعيل enableCmdLineArguments، يكون CGI Servlet في Apache Tomcat عرضة لثغرة RCE بسبب خلل في كيفية تمرير JRE لوسائط سطر الأوامر إلى Windows. يكون CGI Servlet معطلًا افتراضيًا. كما أن خيار CGI enableCmdLineArguments معطل افتراضيًا في Tomcat 9.0.x (وسيتم تعطيله افتراضيًا في جميع الإصدارات استجابةً لهذه الثغرة).

الإصدارات المتأثرة

  • Apache Tomcat 9.0.0.M1 to 9.0.17
  • Apache Tomcat 8.5.0 to 8.5.39
  • Apache Tomcat 7.0.0 to 7.0.93

خطوات الاستغلال

فيديو الإثبات المفاهيمي (PoC) متاح على https://www.youtube.com/watch?v=RA7kzuHOWqA

  1. يجب أن يكون لديك خادم Apache مثبت عليه أي من الإصدارات المتأثرة المذكورة أعلاه من Tomcat على جهاز يعمل بنظام Windows. كما يجب أن يكون لديك Java JRE مثبتًا على نفس الجهاز.
  2. في حالتي، قمت بتثبيت Apache Tomcat 9.0.0.M1 على خادم XAMPP.
  • بعد تثبيت Tomcat، قم بإجراء التغييرات التالية في الإعدادات:
  • a. عدّل ملف conf/context.xml واجعل <Context privileged="true">

    img

    b. قم بإجراء التغييرات التالية في ملف /conf/web.xml بالقرب من السطرين 366 و420 على التوالي.

    img

    يجب أن تكون قيمة enableCmdLineArguments هي true لأننا نستخدم Tomcat 9.

    root@kitploit:~
    <servlet>
      	<servlet-name>cgi</servlet-name>
      	<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
      	<init-param>
      	  <param-name>cgiPathPrefix</param-name>
      	  <param-value>WEB-INF/cgi</param-value>
      	</init-param>
      	<init-param>
      	  <param-name>executable</param-name>
      	  <param-value></param-value>
      	</init-param>
      	<init-param>
      	  <param-name>enableCmdLineArguments</param-name>
      	  <param-value>true</param-value>
      	</init-param>
      	<load-on-startup>5</load-on-startup>
      </servlet>
    

    img

    root@kitploit:~
    <servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>/cgi/*</url-pattern>
    </servlet-mapping>
    
    1. أنشئ مجلدًا لملفات CGI في webapps\ROOT\WEB-INF\cgi وأضف ملفًا باسم ism.bat يحتوي على ما يلي:

    img

    root@kitploit:~
    @echo off
    echo Content-Type: text/plain
    echo .
    
    1. انتهينا الآن من كل شيء؛ شغّل الخادم وانتقل إلى http://localhost:8080/cgi/ism.bat?&dir للتحقق من أن الخادم يعمل.

    img

    1. هنا وجدنا ثغرة RCE؛ وللحصول على قشرة عكسية (reverse shell) باستخدام netcat، شغّل الخادم على جهاز المهاجم مع وجود nc.exe في المجلد، ثم فعّل مستمع netcat لاستقبال الاتصال.
    2. الآن شغّل cve-2019-0232.py وأضف عنوان IP للمخدم والمنفذ فيه.
    3. حصلنا أخيرًا على القشرة العكسية.

    img

    رابط فيديو PoC: https://www.youtube.com/watch?v=RA7kzuHOWqA

    التخفيف

    • عطّل دعم CGI (وهو معطل افتراضيًا).
    • يجب على المستخدمين تعيين معامل تهيئة CGI Servlet enableCmdLineArguments إلى false لمنع أي استغلال محتمل لـ CVE-2019-0232.
    • نفّذت Apache نمط "regex" [[a-zA-Z0-9\Q-_.\\/:\E]+] لمنع تنفيذ المدخلات كأوامر على أنظمة Windows.

    المراجع

    • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-0232
    • https://wwws.nightwatchcybersecurity.com/2019/04/30/remote-code-execution-rce-in-cgi-servlet-apache-tomcat-on-windows-cve-2019-0232/
    • https://tomcat.apache.org/tomcat-9.0-doc/cgi-howto.html
    • https://www.trendmicro.com/en_us/research/19/d/uncovering-cve-2019-0232-a-remote-code-execution-vulnerability-in-apache-tomcat.html
    • https://codewhitesec.blogspot.com/2016/02/java-and-command-line-injections-in-windows.html
    • https://github.com/apache/tomcat/commit/4b244d827ade2a36ef3b8734939541207b78f35c?branch=4b244d827ade2a36ef3b8734939541207b78f35c&diff=split
    تنزيل الأداة