起序:漏扫完看报告的时候发现的,复现学习一下。
一、靶场环境
使用的是 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 属性来限制认证下载更新版本。
到此这篇关于CVE-2020-1983:Tomcat 文件包含漏洞的文章就介绍到这了,更多相关Tomcat 文件包含漏洞内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!