ApacheTomcat(CVE-2019-0232)远程代码执⾏漏洞复现0x00简介
Tomcat 服务器是⼀个免费的开放源代码的Web 应⽤服务器,属于轻量级应⽤服务器,在中⼩型系统和并发访问⽤户不是很多的场合下被普遍使⽤,是开发和调试JSP 程序的⾸选。对于⼀个初学者来说,可以这样认为,当在⼀台机器上配置好Apache 服务器,可利⽤它响应HTML(标准通⽤标记语⾔下的⼀个应⽤)页⾯的访问请求。实际上Tomcat是Apache 服务器的扩展,但运⾏时它是独⽴运⾏的,所以当你运⾏tomcat 时,它实际上作为⼀个与Apache 独⽴的进程单独运⾏的。
0x01漏洞概述
该漏洞只对Windows平台有效,攻击者向CGI Servlet发送请求,可在具有Apache Tomcat权限的系统上注⼊和执⾏任意操作系统命令。
漏洞成因是当将参数从JRE传递到Windows环境时,由于CGI_Servlet中的输⼊验证错误⽽存在该漏洞。
0x02影响范围
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
0x03环境搭建
环境:Java8+Apache Tomcat 8.5.39
1.安装tomcat需要java8环境,jdk下载地址:
2.下载完成后双击安装,⼀直点击下⼀步知道安装完成。
3.在系统环境变量中新建JAVA_HOME添加java安装路径,然后在Path变量编辑添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
步骤如下:
可查看此⽂章配置环境
cmd下运⾏java -version查看是否配置正确
4.安装tomcat8.
5.20版本,下载地址:
5.下载完成后解压出来配置tomcat,打开Tomcat安装⽬录的apache-tomcat-8.5.20\l把取消以下两项的注释,否则访问cgi⽬录会提⽰404,在默认情况下配置是注释的。
<servlet>
<servlet-name>cgi</servlet-name>
cve漏洞库<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>
6.然后修改在l中的添加privileged="true"语句
7.在apache-tomcat-8.5.20\webapps\ROOT\WEB-INF下创建⼀个cgi-bin⽂件夹,并在⽂件夹内创建⼀个bat⽂件写⼊以下代码@echo off
echo Content-Type: text/plain
echo.
set off=%~1
%off%

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。