Apache Tomcat任意文件读取漏洞POC测试(CVE-2020-1938)
1.背景
Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。
Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。此漏洞为文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。
2.漏洞影响版本
Apache Tomcat = 6
7 <= Apache Tomcat < 7.0.100
8 <= Apache Tomcat < 8.5.51
9 <= Apache Tomcat < 9.0.31
3.漏洞复现
搭建好环境,下载利用的poc,在github搜查即可,然后测试,下载地址如下:
https://github.com/0nise/CVE-2020-1938
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
4.修复建议
(1)临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉:
<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
(2)配置ajp配置中的secretRequired跟secret属性来限制认证
(3)下载更新版本。