前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【漏洞复现】Tomcat文件包含漏洞的搭建与复现:CVE-2020-1938

【漏洞复现】Tomcat文件包含漏洞的搭建与复现:CVE-2020-1938

作者头像
一名白帽的成长史
发布2020-02-25 18:07:01
2.8K0
发布2020-02-25 18:07:01
举报

点击上方“公众号” 可以订阅哦!

Hello,各位小伙伴大家好~

今天打开手机就被Tomcat的这个漏洞刷屏了

估计昨晚很多大佬都在通宵刷SRC吧...

让我们一起来复现一下这个漏洞吧~

Part.1

漏洞说明

漏洞描述

2月14日,Apache Tomcat官方发布了一个安全更新版本,用于修复Tomcat中存在的一个利用AJP协议的漏洞。利用该漏洞,攻击者可以通过发送恶意的AJP请求,在未授权的情况下读取或者包含webapp目录下的任意文件。

2月20日,国家信息安全漏洞共享平台(CNVD)发布安全公告,将该漏洞综合评级为高危,当前网上已可以找到该漏洞的利用POC。

涉及版本

Apache Tomcat6

Apache Tomcat7 < 7.0.100

Apache Tomcat8 < 8.5.51

Apache Tomcat9 < 9.0.31

Part.2

环境搭建

JDK安装

以Tomcat 8.0版本为例,需要安装JDK1.7及以上版本。公众号回复1938可进行下载。

Tomcat 8.0.39

Tomcat8.0.39可在公众号回复1938可进行下载。也可访问官网自行下载:

http://tomcat.apache.org/download-80.cgi

选择对应的版本:

点击后进入bin命令下载我们需要的版本:

下载完成后解压即可:

环境变量

配置环境变量:

新建系统变量CATALINA_HOME,变量值为tomcat路径:

配置环境系统变量Path,添加变量值:%CATALINA_HOME%\lib;

打开bin目录下的startup即可启动:

启动后访问目标8080端口:

搭建成功~

Part.3

漏洞复现

漏洞复现

本次漏洞利用的是AJP协议,该协议工作在8009端口,查看本机已开启:

GitHub上已经有很多可利用的POC,也可在公众号回复1938可进行下载。

现在利用该漏洞去读取WEB-INF/web.xml文件:

该POC读取目录为ROOT,其他不行:

Part.4

修复建议

漏洞修复

目前,Apache官方已发布9.0.31、8.5.51及7.0.100版本对此漏洞进行修复,CNVD建议用户尽快升级新版本或采取临时缓解措施:

1. 如未使用Tomcat AJP协议:

如未使用Tomcat AJP 协议,可以直接将 Tomcat 升级到9.0.31、8.5.51或 7.0.100 版本进行漏洞修复。

如无法立即进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。

具体操作:

(1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):

代码语言:javascript
复制
<Connectorport="8009"protocol="AJP/1.3" redirectPort="8443"/>

(2)将此行注释掉(也可删掉该行):

代码语言:javascript
复制
<!--<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443" />-->

(3)保存后需重新启动,规则方可生效。

2、如果使用了Tomcat AJP协议

建议将Tomcat立即升级到9.0.31、8.5.51或7.0.100版本进行修复,同时为AJP Connector配置secret来设置AJP协议的认证凭证。

例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):

代码语言:javascript
复制
<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"secret="YOUR_TOMCAT_AJP_SECRET"/>

如无法立即进行版本更新、或者是更老版本的用户,建议为AJPConnector配置requiredSecret来设置AJP协议认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):

代码语言:javascript
复制
<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET"/>

Part.5

结语

好啦,这就是今天的全部内容了。

欢迎到公众号:一名白帽的成长史提问&留言~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名白帽的成长史 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档