CNVD-2020-10487(CVE-2020-1938)tomcat ajp 文件读取漏洞_Apache Tomcat 8 < 8.5.51 存在漏洞
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CNVD-2020-10487(CVE-2020-1938)tomcat ajp 文件读取漏洞_Apache Tomcat 8 < 8.5.51 存在漏洞相关的知识,希望对你有一定的参考价值。
一、详细说明:其中包括场景、截图、漏洞重现的方法,涉及账号相关漏洞,请提供测试账号。
1、场景:在进入到内网后,且远程tomcat8009后能通的情况下,Apache Tomcat 8 < 8.5.51 时候可以通过ajp读取代码文件;当前部分tomcat版本在8.5.13会有此漏洞。
2、截图:
3、漏洞重现方法:
3.1ROOT下写一个jsp文件
#cat tomcat/webapps/ROOT/1.jsp
root/1.jsp
aa
3.2命令执行获取1.jsp内容
# python tomcat.py 192.168.0.3 -p 8009 -f 1.jsp
Getting resource at ajp13://192.168.0.3:8009/asdf
----------------------------
root/1.jsp
aa
二、修复方案:
2.1 Apache Tomcat版本官方升级
目前官方在最新版本中修改该漏洞,用户可自行前往官方地址下载并升级。
Apache Tomcat 7.0.100官方下载地址:
http://tomcat.apache.org/download-70.cgi
Apache Tomcat 8.5.51官方下载地址:
http://tomcat.apache.org/download-80.cgi
Apache Tomcat 9.0.31官方下载地址:
http://tomcat.apache.org/download-90.cgi
2.2 临时修复
若用户由于业务等原因无法进行版本升级,可采用临时防护措施。
2.2.1若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost。
具体操作:
(1)编辑Tomcat 的工作目录下的/conf/server.xml,找到如下行:
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
(2)将此行注释掉(也可删掉该行):
<!--<Cnotallow="8009" protocol="AJP/1.3"redirectPort="8443" />-->
(3)保存后需重新启动Tomcat,规则方可生效。
2.2.2若需使用Tomcat AJP协议,可根据使用版本配置协议属性设置认证凭证。
使用Tomcat 7和Tomcat 9的用户可为AJP Connector配置secret来设置AJP协议的认证凭证。例如:
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" address="Tomcat的IP地址" secret="需要设置的复杂口令"/>
使用Tomcat 8的用户可为AJP Connector配置requiredSecret来设置AJP协议的认证凭证:
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" address="Tomcat的IP地址" requiredSecret="需要设置的复杂口令" />
其他:可以隐藏tomcat版本,减少针对性。
https://blog.51cto.com/sry2004/5995424
以上是关于CNVD-2020-10487(CVE-2020-1938)tomcat ajp 文件读取漏洞_Apache Tomcat 8 < 8.5.51 存在漏洞的主要内容,如果未能解决你的问题,请参考以下文章
文件年包含漏洞之——tomcat CVE-2020-1938漏洞复现
Tomcat AJP协议文件包含漏洞(CVE-2020-1938)