win 2003(64bit) 2、java环境、tomcat-7.0.75

2、安装环境

1)这里的话,用Windows 2003的虚拟机

空格jsptomcat代码履行破绽黑客技巧实现 Docker

条件纲有一个java的环境,以是我这里就已经安装,就不讲怎么去安装java环境了。

接下来便是我们用安装的tomcat。
我这里安装的是tomcat-7.0.75版本

前面的步骤一贯选择默认,一贯到这个地方要把稳一下,如果说我们这里选择8080端口,那么它这里就会对8080端口进行监听。
以是我们访问tomcat的时候要加上一个端口号。

这里是设置tomcat后台登录的账号和密码。
以是我这里就设置了账号密码为tomcat。
接下来就点击next一贯安装完。

在本地访问127.0.0.1:8080,由于我们刚才设置的是8080端口,以是我们要加上8080,然后这个时候就可以瞥见我们的tomcat已经安装好了,由于我用的是虚拟机的ip在主机访问的,以是它这里的ip是虚拟机的ip。

漏洞复现

漏洞的形成事理

tomcat的servlet是在conf/web.xml配置的,通过配置文件可知,当后缀名为.jsp和jspx的时候,是通过jspservlet处理要求的:而其他的静态文件是通过defaultservlet处理的,可以得知1.jsp末端有一个空格并不能匹配到jspservlet,而是交由defaultservlet去处理,当处理put要求时会调用resources.bind,dircontext为filedircontext调用rebind创建文件,又由于Windows不许可""作为文件名结尾,以是会创建一个.jsp文件,导致代码实行

2)复现的过程

安装tomcat之后,须要开启http put 首先打开tomcat安装目录,找到配置文件web.xml。

编辑一下这个web.xml文件,然后找到readonly,它这里默认的是被禁用了put上传,可以瞥见它这里的内容是true也便是只读模式。

如何开启??找到org.apache.catalina.servlets.defaultservlet方法,并在个中添加如下命令

修正完配置文件之后,我们就须要去修正一下配置文件。

安装好了tomcat之后,我们的电脑有个tomcat图形化启动界面

点击stop停滞

然后再点击这个start开启。

利用burpsuite发送布局的webshell,提示404,要求测试结果表明了预测结论是精确的。
JspServlet卖力处理所有JSP和JPSX类型的动态要求,不能够处理PUT方法类型的要求

利用文件解析漏洞采取PUT办法上传jsp webshell文件。
个中文件名设为/shell.

jsp%20。
(如果文件名后缀是空格那么将会被tomcat给过滤掉。

访问一下刚才写入的文件就可以瞥见上传成功了

末了喜好我文章的朋友请加圈子关注我们,私信关键词:加群。
(送免费资料和优惠券)

就会自动分享给你群号。
欢迎大家加入我们的安全大家庭。
提高大家的安全意识,提升大家的网络安全技能一贯是我们的初衷和愿景,让我们共同成为守护信息天下的"SaFeMAN"。

还有可以关注我们微信"大众年夜众号,在"大众年夜众号上输入安界网,就可以关注到我们,领取资料和优惠券!