win 2003(64bit) 2、java环境、tomcat-7.0.75
2、安装环境
1)这里的话,用Windows 2003的虚拟机
条件纲有一个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"。
还有可以关注我们微信"大众号,在"大众号上输入安界网,就可以关注到我们,领取资料和优惠券!