Tomcat 文件 漏洞
边扯边淡 人气:0起序:漏扫完看报告的时候发现的,复现学习一下。
一、靶场环境
使用的是 github
上的 vulhub
环境。Tomcat
版本为 9.0.30
。
1、漏洞:任意文件包含
攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。
2、影响版本
- 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
二、搭建环境
1、启动环境
自行安装 vulhub。
# Run environment 运行环境 docker-compose up -d
2、访问
http://192.168.2.129:8080/
3、漏洞利用
端口扫描,使用 fscan 扫描一下这个 ip 开启的端口。可以看出这个 ip 对应的服务器开启了 8080 和 8009 端口。
fscan -h 192.168.2.129
下载下面的 POC 脚本(脚本内容应该是一样的)。我刚开始一直使用 python3,一直报错,然后抱着试试看的态度使用 python2,MD,成功了,真坑啊,主要是我太菜了。(咱就是妥妥的脚本小子)
https://github.com/xindongzhuaizhuai/CVE-2020-1938
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
# CVE-2020-1938 python2 CVE-2020-1938.py -p 8009 -f /WEB-INF/web.xml 192.168.2.129 # CNVD-2020-10487-Tomcat-Ajp-lfi python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.2.129 -p 8009 -f WEB-INF/web.xml
4、修复建议
临时禁用 AJP 协议端口,在 conf/server.xml
配置文件中注释掉:<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />
配置 AJP 配置中的 secretRequired
跟 secret 属性来限制认证下载更新版本。
加载全部内容