vlambda博客
学习文章列表

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/AJPygit 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、打补丁


打错环境了,顺便写的。