tomcat ajp协议安全限制绕过漏洞_关于 Apache Tomcat 存在文件包含漏洞的安全公告...

一、漏洞情况分析

Tomcat是Apache软件基金会Jakarta 项目中的一个核心项目,作为目前比较流行的Web应用服务器,深受Java爱好者的喜爱,并得到了部分软件开发商的认可。Tomcat服务器是一个免费的开放源代码的Web应用服务器,被普遍使用在轻量级Web应用服务的构架中。

2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞。Tomcat AJP协议由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行。

CNVD对该漏洞的综合评级为“高危”。

二、漏洞影响范围

漏洞影响的产品版本包括:

Tomcat 6

Tomcat 7

Tomcat 8

Tomcat 9

三、漏洞复现

1.环境搭建

tomcat版本:tomcat-8.5.32

tomcat搭建使用docker进行部署:

# 搜搜tomcat-8.5.32镜像

8efebd6878f006c753cff93de1904c07.png

# 拉取tomcat-8.5.32镜像docker pull duonghuuphuc/tomcat-8.5.32

3d38511218e48d5f568d512c966d008e.png

# 查看tomcat-8.5.32镜像docker images

7a3151eae06209d2c2cd96b746ccfc9c.png

# 启动tomcat-8.5.32镜像docker run -d -p 8080:8080 -p 8009:8009 duonghuuphuc/tomcat-8.5.32

04157f72827d932d64d930e6a47b3e64.png

# 查看容器运行状况docker ps

041ab480153679560cbb5abe73c9dd7b.png

# 使用nmap探测服务器开放端口sudo nmap 192.168.126.215

a4175ac4ddf4e2f22505530231892c73.png

访问tomcat页面

ab8794a59746b92e1c872b93d9fdcb42.png

四、漏洞利用

1.POC

https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi/
使用该POC读取WEB-INF/web.xml

bbf485574438167bcf0e121a464cb820.png

读取ROOT目录下build.xml

a14bca91f911ea8e3e9ad7822a6f4aa6.png

我们可以看到读取WEB-INF/web.xml和build.xml均成功 三、漏洞处置建议

Apache官方已经发布9.0.31、8.5.51及7.0.100对此漏洞进行修复

1.   如未使用Tomcat AJP协议:         如果没有使用AJP协议,可以直接将tomcat升级到官方发布的新版本来修复本漏洞

如果无法进行升级版本或进程更新,可以AJP协议,或修改AJP协议的监听端口

具体操作:

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

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

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

2.   如果使用了Tomcat AJP协议:

如果使用了AJP协议,建议将tomcat版本升级到官方发布的对应版本的升级版,同时为AJPConnector配置secret来这只AJP的凭证。

<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>

如果使用的是版本较老的或是无法更新的版本,可以为AJPConnector配置requiredSecret设置AJP的凭证

<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET" />

凭证的设置建议将其设置为一个不被猜解出的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值