实战复现Aapache Tomcat AJP(CVE-2020-1938)

漏洞简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。

影响范围

Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31

实战复现

  1. 先通过扫描端口看到目标站点开启AJP8009端口
  2. 再通过访问Tomcat默认页面/报错页面得到版本为8.5.32
    实战复现Aapache Tomcat AJP(CVE-2020-1938)
文件读取

使用POC验证,可成功读取到WEB-INF目录下的web.xml文件
相关POC:
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
https://github.com/hypn0s/AJPy
实战复现Aapache Tomcat AJP(CVE-2020-1938)

文件包含

参考链接及EXP:
https://xz.aliyun.com/t/7325
https://www.jianshu.com/p/33bc37198c1a
 

修复建议

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协议的认证凭证。
 
GOT IT!

 
******************************************************
具体利用方式需根据具体实践场景~

上一篇:76. Tomcat 的负载均衡---nginx + tomcat及负载均衡tomcat(day76)


下一篇:中间件学习笔记——ElasticSearch