vulhub漏洞复现-Tomcat

Tomcat

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选

思路

我们首先要了解下Tomcat的下两个函数

org.apache.jasper.servlet.JspServlet:默认处理jsp,jspx文件请求,不存在PUT上传逻辑,无法处理PUT请求
org.apache.catalina.servlets.DefaultServlet:默认处理静态文件(除jsp,jspx之外的文件),存在PUT上传处理逻辑,可以处理PUT请求。

所以我们即使可以PUT一个文件到服务器但也无法直接PUT以jsp,jspx结尾文件,因为这些这些后缀的文件都是交由JspServlet处理的,它没法处理PUT请求。但是当我们利用Windows特性以下面两种方式上传文件时,tomcat并不认为其是jsp文件从而交由DefaultServlet处理,从而成功创建jsp文件

test.jsp%20       Windows下不允许文件名以空格结尾
test.jsp::$DATA   Windows下NTFS文件格式
test.jsp/         适合与Windows系统及Linux系统

当然这里的前提是Windows+配置文件readonly=false(支持PUT请求)

<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>

漏洞复现

docker部署完成后访问:8080
在这里插入图片描述
抓包
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

CVE-2020-1938

CVE-2020-1938:Tomcat AJP文件包含漏洞分析
Apache Tomcat 文件包含漏洞(CVE-2020-1938)威胁分析

tomcat8

思路

一个tomcat:tomcat弱口令登录上去,上传包含jsp的war包后在对应位置进行命令执行
Vulhub - Tomcat8 + 弱口令 && 后台getshell 漏洞复现

おすすめ

転載: blog.csdn.net/weixin_54648419/article/details/121174552