千家信息网

如何实现Apache Tomcat 远程代码执行漏洞CVE-2019-0232的复现

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,今天就跟大家聊聊有关如何实现Apache Tomcat 远程代码执行漏洞CVE-2019-0232的复现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有
千家信息网最后更新 2025年02月01日如何实现Apache Tomcat 远程代码执行漏洞CVE-2019-0232的复现

今天就跟大家聊聊有关如何实现Apache Tomcat 远程代码执行漏洞CVE-2019-0232的复现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

漏洞简介:

2019年4月10日,Apache Tomcat披露了一个漏洞,漏洞编号为CVE-2019-0232,该漏洞存在于启用了enableCmdLineArguments选项的CGI Servlet中,与JRE向Windows传递参数过程中的bug有关。成功利用此漏洞可允许远程攻击者在目标服务器上执行任意命令,从而导致服务器被完全控制。由于Apache Tomcat应用范围广泛,该漏洞一旦被大规模利用,带来后果将不堪设想

威胁类型

远程代码执行、提权

威胁等级

漏洞编号

CVE-2019-0232

受影响系统及应用版本

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

漏洞复现:

1、搭建环境

VMware 虚拟机 windows 7

JDK 1.8.0_73

Apache tomcat 9.0.13

2、复现步骤

首先安装JDK(我这里用的jdk_1.8.0_241)然后配置环境变量

下载符合版本的Tomcat安装包 传送门

下载JDK,准备配置环境

  • 1、装jdk 随意选择目录,如果没有特殊要求直接默认完成安装即可

  • 2、安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可

  • 3、安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量

  • 4、系统变量→新建 JAVA_HOME 变量 。

变量值填写jdk的安装目录

我的路径是C:\Program Files\Java\jdk1.8.0_241

  • 5、系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  • 6、系统变量→新建 CLASSPATH 变量

变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

  • 7、检验是否配置成功 运行cmd 输入 java -version若如图所示 显示版本信息 则说明安装和配置成功。

  • 8、在上述网址中下载Tomcat,下载好安装包之后,进入bin目录执行startup.bat启动tomcat。

  • 9、访问http://localhost:8080

  • 10、修改配置文件

首先修改apache-tomcat-9.0.13\conf\ web.xml

(1)将此段注释删除,并添加红框内代码。

enableCmdLineArgumentstrueexecutadle

(2)将此处注释删除

  • 11、然后更改 apache-tomcat-9.0.13\conf\ context.xml

添加privileged="true"语句 如下图

环境搭建完成!

  • 12、在apache-tomcat-9.0.13\webapps\ROOT\WEB-INF目录下新建 cgi-bin 文件夹

在文件夹内创建一个.bat文件

Bat文件内写如下内容

@echo offecho Content-Type: test/plainecho.set foo=&~1%foo%
  • 13、直接浏览器访问对应的cgi-bin下的bat文件(默认会将bat文件下载回来)

  • 14、在后边追加系统命令:

此命令为调出计算机

漏洞复现成功!

2、修复建议

禁用enableCmdLineArguments参数。

在conf/web.xml中覆写采用更严格的参数合法性检验规则。

升级tomcat到9.0.17以上版本。

看完上述内容,你们对如何实现Apache Tomcat 远程代码执行漏洞CVE-2019-0232的复现有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

漏洞 变量 文件 环境 目录 系统 配置 代码 成功 内容 版本 参数 命令 量值 高级 文件夹 服务器 注释 计算机 威胁 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 阿里云服务器访问失败 嵌入式软件开发用什么工具 停车系统软件开发怎么收费 云服务器放在研发加计扣除哪里 国外网络安全厂商排名 红石最强的我的世界服务器 动态域名 邮件服务器 手机自带的服务器在哪里 创品网络技术有限公司 深圳张爱军软件开发公司 音频可视化软件开发 服务器浏览器去掉安全模式 天津途至臻网络技术有限公司 数据库技术和发展 软件开发专科就业前景 camhi服务器在哪 重庆常规软件开发商家 我的世界空岛任务服务器 数据库工程师考试真题与答案 双线服务器托管好不好 21春学期网络技术与应用 挖数互联网科技有限公司 软件开发进项税加计扣除多少 c 大程序软件开发 集合字段数据库 超星的数据库怎么样 小学学校网络安全责任制落实方案 用友数据库可疑是怎么回事 数据库sql小三角是什么意思 小型河南软件开发公司有哪些
0