漏洞原理
该漏洞是由于Tomcat AJP协议存在缺陷导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。
复现环境
在ubuntu 16.04虚拟机中用vulhub靶场提供的docker容器来复现
jdk版本1.7
Tomcat版本9.0.30
影响版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
复现过程
1. 进入vulhub目录:tomcat/CVE-2020-1938
2.启动docker容器,tomcat页面正常访问:
看下server.xml中AJP协议的相关配置,目前是打开的,端口号8009:
使用推荐的漏洞利用工具(https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi)读取web.xml:
防御实验
在不升级版本的情况下,直接关闭AJP Connector:
重启Tomcat,再试着读取web.xml,读取失败:
原文地址:https://www.cnblogs.com/sallyzhang/p/12357669.html
时间: 2024-11-06 03:46:53