首页 > 其他分享 >TomcatCVE-2020-1938

TomcatCVE-2020-1938

时间:2022-11-18 23:33:09浏览次数:80  
标签:版本 Tomcat AJP Connector TomcatCVE 2020 https Apache 1938

影响版本:

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)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

(2)将此行注释掉(或直接删掉此行):

<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->

(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 更改为一个安全性高、无法被轻易猜解的值):

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"  address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET" />

而对于无法进行版本更新、或者是更老版本的用户,则建议为 AJP Connector 配置 requiredSecret 来设置 AJP 协议认证凭证。例如(注意必须将 YOUR_TOMCAT_AJP_SECRET 更改为一个安全性高、无法被轻易猜解的值):

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"  address="YOUR_TOMCAT_IP_ADDRESS" requiredSecret="YOUR_TOMCAT_AJP_SECRET" />

 

参考链接:

标签:版本,Tomcat,AJP,Connector,TomcatCVE,2020,https,Apache,1938
From: https://www.cnblogs.com/jdslf/p/16905253.html

相关文章