Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现(含有poc)
Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现
0X00漏洞简介
Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。
Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。
由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。
0X01漏洞编号
CVE-2020-1938
CNVD-2020-10487
0X02漏洞影响范围
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
0X03漏洞环境搭建
本漏洞由于影响版本较多,因此环境利用复现cve-2019-0232的环境
关于环境搭建请移步于https://www.cnblogs.com/L0ading/p/12312064.html
0X04漏洞复现过程
首先启动apache tamcat服务,访问localhost:8080可以成功访问如下界面
对其进行端口扫描发现8009 8080端口开启,证明有该漏洞。
接着下载利用的poc
Poc1下载地址:https://github.com/0nise/CVE-2020-1938
Poc2下载地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
下载好后进入该文件夹cmd命令执行并加上网址参数利用poc
注意poc为py2环境
命令为
python ./ CNVD-2020-10487-Tomcat-Ajp-lfi.py 本地ip –p 8009 –f WEB-INF/web.xml
执行成功后可以看到成功访问到该文件。
0X05漏洞修复建议
、临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
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
或Github下载:https://github.com/apache/tomcat/releases
0X06AJP协议规范
详见https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html