文件上传漏洞修复方案
针对文件上传漏洞的特点和必须具备的三个条件,我们阻断任何一个条件就可以达到组织文件上传攻击的目的:
1.最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的’x’权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,不对任何动态文件作出解析,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性;
2.文件类型检查:强烈推荐白名单方式(中间件版本很高的话很难绕过),结合MIME Type、后缀检查等方式;此外对于图片的处理可以使用压缩函数或resize函数,处理图片的同时破坏其包含的HTML代码;
- 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件;
4.单独设置文件服务器的域名;
个人心得:在实际环境中,应该把文件存储的服务器尽量与关键位置隔离,这样即使出现问题,也不会造成很严重的后果,这个问题追根溯源就是解析的问题,所以把文件都做静态处理也是很根本的消除可能性,这是在假如攻击者上传后的防御措施。
另一方面就是在上传时严防死守,通过拦截、破坏、修改攻击者的文件,达到摧毁木马的目标
(最近学这几个漏洞学魔怔了,见到文本框就想试试插东西,偶然发现CSDN博客题目是自动删除空格的)