目录
一.Tomcat
Tomcat介绍
1.1 CVE-2017-12615
影响范围
环境搭建
漏洞复现
1.2 后台弱口令部署war包
漏洞原理
影响版本
环境搭建
1.3 CVE-2020-1938
漏洞原理
影响版本
环境搭建
漏洞复现
一.Tomcat
Tomcat介绍
tomcat是一个开源而且免费的jsp服务器,默认端口:8080,属于轻量级应用服务器。它可以实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。在历史上也披露出来了很多的漏洞,这里我们讲几个经典的漏洞复现
1.1 CVE-2017-12615
Tomcat put方法任意文件写入漏洞
影响范围
Apache Tomcat 7.0.0-7.0.79
Apache Tomcat 8.5.19
环境搭建
cd vulhub/tomcat/CVE-2017-12615docker-compose up -d
漏洞复现
http://60.205.170.32:8060/
1.首页抓包,修改为 PUT 方式提交
Tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传,因此我们需要配合 windows的解析漏洞.
PUT /1.jsp/
PUT /1.jsp%20
访问成功!
2.Webshel客户端工具进行连接
1.2 后台弱口令部署war包
漏洞原理
在tomcat8环境下默认进入后台的密码为 tomcat/tomcat,未修改造成未授权即可进入后台,或者管理员把密码设置成弱口令。
影响版本
全版本(前提是人家存在弱口令)
环境搭建
cd vulhub/tomcat/tomcat8
docker-compose up -d
漏洞复现
默认密码:tomcat/tomcat
1.制作WAR包
制作WAR包,将JSP木马压缩为ZIP格式,然后修改后缀为war就可以了
2.文件上传成功后,默认会在网站根目录下生成和war包名称一致得目录,然后目录中得木马就是压缩前的文件名。
3.Webshell客户端工具进行连接
1.3 CVE-2020-1938
Tomcat文件包含漏洞
漏洞原理
由于Tomcat AJP协议设计上的缺陷,攻击者通过Tomcat AJP Connector 可以读取或包含Tomcat上所有Webapp目录下的任意文件,例如:可以读取webapp配置文件或源码文件。此外如果目标应用有文件上传的功能情况下,配合为文件包含漏洞利用GetShell。
影响版本
Apache Tomcat 6
Tomcat 7系列<7.0.100 Tomcat 8系列 <8.5.51 Tomcat 9 系列 <9.0.31
环境搭建
cd vulhub/tomcat/CVE-2020-1938docker-compose up -d
漏洞复现
tomcat默认的conf/server.xml中配置了2个Connector,一个为 8082的对外提供的HTTP协议端口,另外一个就是默认的 8009 AJP协议端口,两个端口默认均监听在外网ip。
把压缩包拖到kali中解压到桌面,在文件夹中打开终端。
POC:
python2 Tomcat-ROOT路径下文件包含(CVE-2020-1938).py -p 8009 -f /WEB-INF/web.xml IP