我是靠谱客的博主 专一大雁,最近开发中收集的这篇文章主要介绍文件上传的防御,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

二、判断文件类型

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

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

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

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

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

五、二次渲染

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

以upload_labPass16为例:

1.抓包并进行爆破

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

最后

以上就是专一大雁为你收集整理的文件上传的防御的全部内容,希望文章能够帮你解决文件上传的防御所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部