跳转至

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