CVE-2017-12615 Tomcat任意文件上传漏洞

0x01 漏洞复现

本次复现的漏洞如题,是一个任意文件文件上传漏洞,但是此处的上传不需要页面有一个上传功能的界面,而是通过PUT方法来进行上传的。

在tomcat下的conf文件夹中有一个web.xml,在其中找到default servlet的配置项,添加如下的配置

重点是readonly的那一项,因为其他的都是默认的,只有那个是自己添加的。

我们来看一下readonly这个选项是用来做什么的吧

也是在这个web.xml文件中,已经注释的地方说明了默认情况下readonly是true,并且如果是true的话,那么PUT和DELETE方法是被拒绝的,因此如果手动将readonly选项开启为false,那么就能够通过PUT方法上传文件了。

但是,当我们想要上传一个jsp木马的时候却发现报了一个405的错误

查阅资料发现,原来default servlet只能处理静态文件,而处理jsp文件是jspservlet,但是只有defaultservlet有PUT上传逻辑,解决的办法是通过构造特殊的后缀名来进行绕过,从而上传jsp木马。

经过验证,可以在文件名后面添加斜杠 / 来进行绕过。

访问上传的木马,成功执行命令!

本文标题:CVE-2017-12615 Tomcat任意文件上传漏洞

文章作者:Pino-HD

发布时间:2018年06月19日 - 19:06

最后更新:2018年06月19日 - 19:06

原始链接:https://pino-hd.github.io/2018/06/19/CVE-2017-12615-Tomcat任意文件上传漏洞/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!