事情是这样,某社交平台上有个兄弟发帖,说自己刚入职国企,写了个借口,用了PUT和DELETE方法,前段说不能用这两个,这位仁兄感觉很委屈,特地发帖吐槽。
其实站在安全的角度来说,真没冤枉你,这都啥年代了,作为开发,这几本的安全开发规则都不懂啊,PUT和DELETE方法是危险方法,基本上在开发中是被禁止使用的。
0x1 危险的PUT和DELETE方法
首先我们要知道一个中间件服务器都支持哪些方法:PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK等方法了
PUT方法:首先你使用了PUT方法,就证明你的服务器开启了PUT方法,既然你能用PUT方法上传正常业务的文件或者数据,那黑客就能利用你这个接口来上传他想上传的文件,我就以IIS PUT文件上传的洞来解释一下(我在我的web安全🔗中的第六章框架漏洞中,共讲了65个框架漏洞,几本涵盖市面常见的框架漏洞):
1、web安全中详细讲解了PUT方法的利用,先使用OPTIONS验证PUT方法是否可以使用
2、确认了PUT方法可用后使用PUT方法上传txt(这里也可以直接上传木马)文件
3、可以看到服务器上被上传了好多测试的txt文件
除了iis还有tomcat服务器也是同样具备PUT方法上传木马的漏洞,在PUT方法启用的情况下,可以直接上传shell