Tomcat-Ajp协议任意文件读取漏洞复现(CVE-2020-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

危害

任意文件读取
命令执行

漏洞原理

Apache Tomcat服务器通过Connector连接器组件与客户程序建立连接,被分别过配置了两个Connector:HTTP和AJP,我们通常使用HTTP Connector,也就是8080端口来访问Tomcat,它的配置文件在conf/serve.xml,它的配置如下:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

AJP协议(Apache Jserv Protocol)使用8009端口,它能够优化HTTP请求,多用于集群,反向代理的场景,它的配置如下:

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

漏洞因为Tomcat AJP协议存在缺陷而产生,攻击者可通过该漏洞读取配置文件以及执行恶意代码。

漏洞复现

下载EXP

  • 文件包含
    在这里插入图片描述
    这里成功读取该站index.jsp源文件,补天src300多个站均未修复此漏洞。

修复建议

在server.xml中注释掉AJP,或者绑定到127.0.0.1
更新到如下Tomcat 版本
Tomcat 分支 	版本号
Tomcat 7 	7.0.0100
Tomcat 8 	8.5.51
Tomcat 9 	9.0.31

相关链接:安全客

发布了60 篇原创文章 · 获赞 68 · 访问量 8421

猜你喜欢

转载自blog.csdn.net/qq_43573676/article/details/104443818