微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

       

0x00 实验环境

攻击机:Win 10

靶场:docker拉的vulhub靶场

 

0x01 影响版本

受影响版本

  • Apache Tomcat 6
  • Apache Tomcat 7 < 7.0.100
  • Apache Tomcat 8 < 8.5.51
  • Apache Tomcat 9 < 9.0.31

不受影响版本

  • Apache Tomcat = 7.0.100
  • Apache Tomcat = 8.5.51
  • Apache Tomcat = 9.0.31

 

 

0x02 漏洞复现

描述: tomcat认的conf/server.xml中配置了2个Connector,两个端口认均监听在外网IP

一个为8080的对外提供的HTTP协议端口

一个认的8009 AJP协议端口

若web站点存在文件上传功能,可配合上传shell进行服务器权限的控制。

 

(1)探测存活端口为8009,也可能为其他端口:

nmap  -A -v ip

 

 

(2)执行命令(exp将不对外提供,此处进行免责声明,本博客所有复现类漏洞均用于学习与正义的工作,如产生安全事故概与本人无关)

python2 ajp.py x.x.x.x -p 8009 -f WEB-INF/web.xml

 

 

 

0x03 漏洞原理

AJP连接器可以通过AJP协议和另一个web容器进行交互。它监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互。

0x04 修复建议

1.   如未使用Tomcat AJP协议:

如未使用 Tomcat AJP 协议,可以直接将 Tomcat 升级 9.0.318.5.51 7.0.100 版本进行漏洞修复。

如无法立即进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。

具体操作:

(1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):

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

(2)将此行注释掉(也可删掉该行):

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

(3)保存后需重新启动,规则方可生效。

 

参考文献:https://cloud.tencent.com/developer/article/1590029

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐