0x00 前言
昨天下午,xray团队爆出了Apache Tomcat的最新漏洞。
0x01 漏洞概述
2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而可以读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。
Tomcat是Apache软件基金会中的一个重要项目,性能稳定且免费,是目前较为流行的Web应用服务器。由于Tomcat应用范围较广,因此本次通告的漏洞影响范围较大,请相关用户及时采取防护措施修复此漏洞。
0x02 漏洞编号
CVE-2020-1938
CNVD-2020-10487
0x03 影响范围
受影响版本
- Apache Tomcat 6
- Apache Tomcat 7 < 7.0.100
- Apache Tomcat 8 < 8.5.51
- Apache Tomcat 9 < 9.0.31
不受影响版本
- Apache Tomcat = 7.0.100
- Apache Tomcat = 8.5.51
- Apache Tomcat = 9.0.31
0x05 漏洞验证
利用fofa或者zoomeye网络空间搜索引擎可以大批量的搜索互联网上可能存在漏洞的主机。
然后使用xray扫描器进行搜索
1 | xray_windows_amd64.exe servicescan --target-file ip文件 |
使用xray扫描出来后,再使用脚本进行漏洞验证
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
0x06 漏洞防护
6.1 官方升级
目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:
版本号 | 下载地址 |
---|---|
Apache Tomcat 7.0.100 | http://tomcat.apache.org/download-70.cgi |
Apache Tomcat 8.5.51 | http://tomcat.apache.org/download-80.cgi |
Apache Tomcat 9.0.31 | http://tomcat.apache.org/download-90.cgi |
6.2 其他防护措施
如果相关用户暂时无法进行版本升级,可根据自身情况采用下列防护措施。
一:若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost。
具体操作:
(1)编辑
1 | <Connector port="8009"protocol="AJP/1.3" redirectPort="8443" /> |
(2)将此行注释掉(也可删掉该行):
1 | <!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />--> |
(3)保存后需重新启动Tomcat,规则方可生效。
二:若需使用Tomcat AJP协议,可根据使用版本配置协议属性设置认证凭证。
使用Tomcat 7和Tomcat 9的用户可为AJP Connector配置secret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
1 | <Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/> |
使用Tomcat 8的用户可为AJP Connector配置requiredSecret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
1 | <Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET" /> |
0x04 参考链接
http://blog.nsfocus.net/cve-2020-1938/
https://www.shungg.cn/post/290