Tomcat CVE-2020-1938 Rce 漏洞复现&分析
0x01 前言
网上的关于这个漏洞的文章太多了,甚至不点不想分析了,直接写细节好了。算了,还是写点吧,征求让没有复现过的人一眼看懂。
0x02 环境搭建
os:windows
server:Tomcat-Apache-7.0.10-windows
无需配置,直接启动即可
catalina.bat run
0x03 漏洞复现
直接使用脚本(https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi)进行复现即可
但是在本文中为了配合文件包含漏洞,于是简单改了下传入参数的代码
(1)文件读取:
python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1 -p 8009 -f WEB-INF/web.xml
结果显示
(2)命令执行
首先需要在webapp下任意文件夹或者直接在该目录下放一个txt或者其他非jsp文件(总之不能被解析就对了)
我们看看该txt的内容
python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1 -p 8009 -f 1.txt -u t123.jsp
0x04 漏洞分析
https://xz.aliyun.com/t/7683
默认的Connector分为两种HTTP Connector 和Ajp Connector
大部分情况下用户通过HTTP访问Tomcat服务器的时候数据流向是走的HTTP Connector
但是若需要跟其他服务器有通讯,则其他服务器可以通过Ajp Connector 跟Tomcat进行通讯,可以简单理解为Ajp Connector是一个中间层,由它再将数据转为http给Tomcat服务器。
当我们是用ajp协议请求tomcat服务器时,将转向ajp connector
具体漏洞细节此处不做重复分析,上面的文章已经讲得非常的清晰了。