freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

(CVE-2020-1938)Apache Tomcat远程代码执行漏洞复现
FreeBuf_334760 2020-07-26 14:24:02 779847

漏洞简介:

Apache Tomcat是Java Servlet,JavaServer Pages,Java Expression Language和WebSocket技术的开源实现。 Tomcat提供了可以在其中运行Java代码的“纯Java” HTTP Web服务器环境。 最近,Apache Tomcat修复了一个漏洞(CVE-2020-1938),该漏洞使攻击者可以读取任何webapps文件(例如webapp配置文件,源代码等)或包括一个文件来远程执行代码。由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。

威胁类型

文件包含、远程代码执行

威胁等级

漏洞编号

CVE-2020-1938受影响系统及应用版本

apache tomcat 6

apache tomcat 7 < 7.0.100

apache tomcat 8 < 8.5.51

apache tomcat 9 < 9.0.31

漏洞复现:

1、搭建环境

VMware 虚拟机 windows 7

JDK 1.8.0_73

Apache tomcat 9.0.13

2、复现步骤

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

下载符合版本的Tomcat安装包 https://archive.apache.org/dist/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)将此段注释删除,并添加红框内代码。

 <init-param>
    <param-name>enableCmdLineArguments</param-name>
    <param-value>true</param-value>
</init-param>
<init-param>
    <param-name>executadle</param-name>
    <param-value></param-value>
</init-param>

 

 (2)将此处注释删除

11、然后更改

apache-tomcat-9.0.13\conf\ context.xml

 <Context>添加privileged="true"语句 如下图

 

 环境搭建完成!

 12、使用nmap对tomcat的开放端口进行扫描

 查看搭建tomcat主机的ip

 

 扫描端口

看到开放了8080端口和8009端口,证明存在此漏洞。

13、在CMD执行环境,python环境为2.7

Poc地址:

传送门

可以成功访问文件,漏洞复现成功!

2、修复建议

1、禁用AIP协议端口,在conf/server.xml配置文件中注释掉<Connector port="8009"

protocol="AJP/1.3"redirectPort="8443"/>

2、升级官方最新版本。

# 安全漏洞 # 安全报告 # 漏洞复现 # CVE-2020-1938
本文为 FreeBuf_334760 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
新兴CVE漏洞复现
TideSec
漏洞复现专栏
从0到1学技术
FreeBuf_334760 LV.1
这家伙太懒了,还未填写个人描述!
  • 9 文章数
  • 1 关注者
(CVE-2019-6341)Drupal XSS漏洞
2020-08-08
MongoDB mongo-express远程代码执行(CVE-2019-10758)
2020-08-03
Django SQL注入漏洞复现(CVE-2020-7471)
2020-08-03
文章目录