当前位置:   article > 正文

4.任意文件上传

任意文件上传

4.1什么是任意文件上传

大多数网站都有文件上传的接口,但如果在后台开发时并没有对上传的文件进行安全考虑或采用了有缺陷的措施,导致攻击者可以通过一些手段绕过安全措施从而上传一些恶意文件,从而通过该恶意文件的访问来控制整个后台

4.2文件上传的绕过方式

一般分为客户端和服务端  客户端是js绕过 用burpsuite抓个包改一下扩展名试一下,服务端绕过分为检查后缀,检查内容,和其他绕过。检查后缀主要是黑名单和白名单绕过 ,黑名单的话 ,上传特殊解析后缀、后缀大小写绕过、点绕过、空格绕过、::$DATA绕过、配合解析漏洞、双后缀名绕过 ;白名单的话是00截断(php版本低于5.3.4魔术符号要关闭状态 、和MIME绕过,其他绕过有时间竞争绕过;检查内容是文件头检查  二次渲染 以及一些函数(getimagesize和exif_imagetype)突破

4.3任意文件上传的防范

1)最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的'x'权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性;

2)文件类型检查:强烈推荐白名单方式,结合MIME Type、后缀检查等方式(即只允许允许的文件类型进行上传);此外对于图片的处理可以使用压缩函数或resize函数,处理图片的同时破坏其包含的HTML代码;

3)使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件;

4)单独设置文件服务器的域名;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号