CVE-2020-1938 Apache-Tomcat-Ajp 文件包含漏洞复现
Apache Tomcat会开启AJP连接器,方便与其他WEB服务器通过AJP协议进行交互。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。此漏洞为文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件,如:webapp配置文件、源代码等
影响版本:Apache Tomcat=6 ,7 <= Apache Tomcat < 7.0.100 ,8<= Apache Tomcat < 8.5.51 9<=Apache Tomcat < 9.0.31
复现过程
搭建环境:
这里使用docker拉取tomcat-8.5.32环境复现 命令如下
docker search tomcat-8.5.32 #docker搜索tomcat镜像
docker pull duonghuuphuc/tomcat-8.5.32 #拉取镜像
docker images #拉取完成后查看是否拉取成功
docker run –d –p 8080:8080 –p 8009:8009 duonghuuphuc/tomcat-8.5.32 #运行镜像并映射端口
docker ps –a #查看是否运行成功
访问地址
nmap查看
漏洞演示:
exp地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
使用脚本读取WEB-INF/web.xml
修复方案
临时禁用AJP协议端口,在conf/server.xml 配置文件中注释掉<Connector port=”8009″ protocol=”AJP/1.3″redirectPort=”8443″ />配置ajp配置中的secretRequired跟secret属性来限制认证
-
官方下载最新版下载地址:
https://tomcat.apache.org/download-70.cgi
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-90.cgi
https://github.com/apache/tomcat/releases