文件上传的防御

一、将文件上传目录的所有用户执行权限全部取消

二、判断文件类型

   在判断文件类型时,可以结合使用MIME Type、后缀检查等方式。在文件类型检查中,强烈推荐白名单方式,黑名单的方式已经     无数次被证明是不可靠的。此外, 对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的     HTML代码,或者在使用白名单的时候,使用分割字符串(上传来的文件名),使用"."来分割,仅允许分割后,字符串只有两个,一     个是文件名,一个是文件扩展名。

三、使用随机数改写文件名和文件路径

  文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。如果应用了随机数改写      了文件名和路径,将极大地增加攻击的成本。再来就是像shell.php.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击。

四、单独设置文件服务器的域名

  把网站服务器和文件服务器分开,但是要保证,文件服务器的安全级别很高,且保证上传文件是相对高的可靠,直接把上传的图      片等文件存储在文件服务器,并在文件服务器把所有目录设置为可读可写不可执行

五、二次渲染

  原理:将上传的图片重新保存为一个新的图片,将里面可能含有的的可执行代码删除

以upload_labPass16为例:

1.抓包并进行爆破

2.有200出现,代表上传成功

发布了38 篇原创文章 · 获赞 21 · 访问量 1931

猜你喜欢

转载自blog.csdn.net/cxrpty/article/details/104390140