1.漏洞描述
Tomcat是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。 即可查看tomcat默认页面,此时通过AJP协议的8009端口亦可访问Tomcat。
2.影响版本
Apache Tomcat 6
Tomcat 7系列 <7.0.100
Tomcat 8系列 < 8.5.51
Tomcat 9 系列 <9.0.31
3.批量检测
POC下载地址:
https://github.com/bkfish/CNVD-2020-10487-Tomcat-Ajp-lfi-Scanner
ip地址或域名保存至ip.txt文件,执行命令
python2 threading-find-port-8009.py
开放8009的ip地址将保存至8009.txt文件中
python2 threading-CNVD-2020-10487-Tomcat-Ajp-lfi.py
检测结果将保存到vul.txt中
4.漏洞修复
1.更新到安全版本
Apache Tomcat 7.0.100
Apache Tomcat 8.5.51
Apache Tomcat 9.0.31
https://tomcat.apache.org/download-70.cgi
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-90.cgi
或Github下载:https://github.com/apache/tomcat/releases
2.关闭AJP服务,修改Tomcat配置文件Service.xml,注释掉
3、配置ajp配置中的secretRequired跟secret属性来限制认证