Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

 一、     漏洞简介

漏洞编号和级别

CVE编号:CVE-2019-0232,危险级别:高危,CVSS分值:官方未评定。

漏洞概述

Apache Tomcat是美国阿帕奇(Apache)软件基金会的一款轻量级Web应用服务器。该程序实现了对ServletJavaServer PageJSP)的支持。

411日,Apache官方发布通告称将在最新版本中修复一个远程代码执行漏洞(CVE-2019-0232),由于JRE将命令行参数传递给Windows的方式存在错误,会导致CGI Servlet受到远程执行代码的攻击。

触发该漏洞需要同时满足以下条件:

1. 系统为Windows

2. 启用了CGI Servlet(默认为关闭)

3. 启用了enableCmdLineArgumentsTomcat 9.0.*及官方未来发布版本默认为关闭)

影响范围

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

 

二、     漏洞复现

环境介绍

服务端:Windows 10

Apache Tomcat 8.5.39

Java环境  1.8.0_211

 

漏洞环境搭建

java环境安装

  1. 官网下载jdk安装包

https://www.oracle.com/technetwork/java/javase/downloads/index.html

链接:https://pan.baidu.com/s/1XXOMEGHJUGmSHSKxxRrt3Q

提取码:asc4

2、根据提示安装jdk

3、安装完后 配置路径,我的电脑->属性->高级系统设置->环境变量  添加jdkjre路径

 https://img2018.cnblogs.com/blog/1605154/201904/1605154-20190418201833284-1387398103.png

4、配置成功后如图:

 

Apache Tomcat安装

  1. 下载地址:(https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.39/

链接:https://pan.baidu.com/s/1XXOMEGHJUGmSHSKxxRrt3Q 提取码:asc4

 

2.安装成功后,运行startup.bat启动服务

 

3、访问http://localhost:8080,如下图启动成功。

 https://img2018.cnblogs.com/blog/1605154/201904/1605154-20190418202020460-775589781.png

配置Apache Tomcat服务器(修改conf目录配置文件,启用CGI

1、打开Tomcat安装目录的confweb.xml修改如下配置,在默认情况下配置是注释的。

 https://img2018.cnblogs.com/blog/1605154/201904/1605154-20190418202030946-1778004919.png

 2、同时还要修改web.xml以下配置,否则访问cgi目录会提示404

 https://img2018.cnblogs.com/blog/1605154/201904/1605154-20190418202039363-763679173.png

 3、打开Tomcat安装目录的confcontext.xml修改如下配置,添加privileged="true"

 https://img2018.cnblogs.com/blog/1605154/201904/1605154-20190418202048124-1527287526.png

 4、在webappsROOTWEB-INF目录新建一个cgi-bin文件夹,创建一个psl.bat的文件,内容如下:

 

 5、至此,此漏洞环境搭建完成

试一试bat文件执行能力

 

 

6. 漏洞访问

Poc1:http://127.0.0.1:8080/cgi-bin/psl.bat?c:/windows/system32/netstat.exe

Poc2:http://127.0.0.1:8080/cgi-bin/psl.bat?c:/windows/system32/ipconfig.exe

 

 

 

三、     解决方案

Apache官方还未正式发布以上最新版本,受影响的用户请保持关注,在官方更新后尽快升级进行防护。与此同时,用户可以将CGI Servlet初始化参数enableCmdLineArguments设置为false来进行防护。

Tomcat安装路径的conf文件夹下,使用编辑器打开web.xml,找到enableCmdLineArguments参数部分,添加如下配置:

 https://img2018.cnblogs.com/blog/1605154/201904/1605154-20190418202140096-1425370035.png

 重启Tomcat服务,以确保配置生效。

 

本博客记录Sylon的学习总结和学习情况做记录 望今后能记录自己的学习之路,同时分享高品质博文!!!
原文地址:https://www.cnblogs.com/Sylon/p/11747473.html