【漏洞复现】CVE-2017-12615 Tomcat任意文件上传漏洞

0x01 漏洞复现

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

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


【漏洞复现】CVE-2017-12615 Tomcat任意文件上传漏洞_第1张图片

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

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


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

【漏洞复现】CVE-2017-12615 Tomcat任意文件上传漏洞_第2张图片

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

【漏洞复现】CVE-2017-12615 Tomcat任意文件上传漏洞_第3张图片

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

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


【漏洞复现】CVE-2017-12615 Tomcat任意文件上传漏洞_第4张图片

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


你可能感兴趣的:(【漏洞复现】CVE-2017-12615 Tomcat任意文件上传漏洞)