注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关!!!
漏洞介绍
Java 是目前 Web 开发中最主流的编程语言,而 Tomcat 是当前最流行的 Java 中间件服务器之一,从初版发布到现在已经有二十多年历史,在世界范围内广泛使用。
Ghostcat(幽灵猫) 是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。
漏洞复现
1.首先通过nmap查看8009端口是否开启,这是最关键的,因为ajp服务开放在这个端口上。
2.再用nmap扫下8080端口,看是否能访问
3.在kali上下载suricata/cve 2020-1938.py at master · whh6tl/suricata · GitHubPOC
4.输入python ./CNVD-2020-10487-Tomcat-Ajp-lfi.py 【ip地址】-p 8009 -f WEB-INF/web.xml
用的是python2
总结:
漏洞造成的原因是由于ajp设计缺陷,我们可以通过修改Tomcat ajp协议的端口,也可直接考虑关闭ajp connectoy,来避免攻击者攻击。
影响版本
- Apache Tomcat 9.x < 9.0.31
- Apache Tomcat 8.x < 8.5.51
- Apache Tomcat 7.x < 7.0.100
- Apache Tomcat 6.x
参考链接:
CVE-2020-1938:幽灵猫 Ghostcat 漏洞(可检测漏洞是否存在)
Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)_「Vulhub 文档」 - 网安
CVE-2020-1938任意文件读取漏洞复现_俺不想学习的博客-CSDN博客_cve-2020-1938
Apache Tomcat CVE-2020-1938 漏洞_Beethen Tang的博客-CSDN博客_cve-2020-1938
(poc来自于这位博主,注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关!!!)