Apache-Tomcat-Ajp文件包含CVE-2020-1938
影响范围¶
Apache Tomcat 6 Apache Tomcat 7 < 7.0.100 Apache Tomcat 8 < 8.5.51 Apache Tomcat 9 < 9.0.31
漏洞简介¶
Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。
由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。
复现利用¶
搭建环境 克隆实验环境
git clone https://github.com/laolisafe/CVE-2020-1938
解压Apache
unzip apache-tomcat-8.5.32.zip
在Apache的bin目录下,添加执行权限,我这里给全部权限
chmod -R +x bin/
启动apache
sh startup.sh
查看端口,8009端口是开启的
利用漏洞 poc下载地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi 注意poc为py2环境
python ./ CNVD-2020-10487-Tomcat-Ajp-lfi.py 本地ip –p 8009 –f WEB-INF/web.xml
漏洞修复建议¶
1.临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉
2、配置ajp配置中的secretRequired跟secret属性来限制认证
3、官方下载最新版下载地址: https://tomcat.apache.org/download-70.cgi https://tomcat.apache.org/download-80.cgi https://tomcat.apache.org/download-90.cgi