CVE-2019-0232(Apache Tomcat 远程代码执行)漏洞复现
Posted 玛卡巴卡巴巴亚卡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CVE-2019-0232(Apache Tomcat 远程代码执行)漏洞复现相关的知识,希望对你有一定的参考价值。
一、漏洞简介
2019年4月10日,Apache Tomcat披露了一个漏洞,漏洞编号为CVE-2019-0232,该漏洞存在于启用了enableCmdLineArguments选项的CGI Servlet中,与JRE向Windows传递参数过程中的bug有关。成功利用此漏洞可允许远程攻击者在目标服务器上执行任意命令,从而导致服务器被完全控制。由于Apache Tomcat应用范围广泛,该漏洞一旦被大规模利用,带来后果将不堪设想
影响版本:
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
二、漏洞复现
搭建tomcat9.0.13环境,此处省略。
Tomcat的 CGI_Servlet组件默认是关闭的,在conf/web.xml中找到注释的 CGIServlet部分,去掉注释,并配置 enableCmdLineArguments和executable。
这里主要的设置是enableCmdLineArguments和 executable两个选项
1.enableCmdLineArguments启用后才会将Url中的参数传递到命令行
2.executable指定了执行的二进制文件,默认是perl,需要置为空才会执行文件本身。
同样在conf/web.xml中启用cgi的 servlet-mapping
修改conf/context.xml的添加 privileged="true"属性,否则会没有权限
<Context privileged="true">
在apache-tomcat-9.0.13\\webapps\\ROOT\\WEB-INF目录下新建 cgi-bin 文件夹,在文件夹内创建一个.bat文件,代码如下
以上是关于CVE-2019-0232(Apache Tomcat 远程代码执行)漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat CGIServlet enableCmdLineArguments远程代码执行_CVE-2019-0232漏洞复现