首页 > 代码库 > 文件上传如何合理地验证文件类型?
文件上传如何合理地验证文件类型?
在网上搜了一下,一般都是通过文件后缀名判断,很显而易见的是用户通过修改后缀名来逃避,我想问的问题有两个:
还有什么验证文件类型的方法?
攻击者利用后缀名漏洞能造成什么样的危害?
在网上找到的攻击方式有:
- 修改后缀名(exe->jpg),
- 多后缀名(test.php.fr),
- 后缀名大小写(php->pHp),
- 代码嵌入(图片里注入php代码),
- null字符(00)
- 相对路径(
../../../
)
知乎用户-江南回答
其实对于防御者来说,其实不用这么费劲来进行验证
时间戳+随机数+.jpg后缀,强制重命名上传文件
隐藏上传后的文件名
上传目录不给执行权限
上传的文件按照图片执行
文件上传攻击框架
文件上传如何合理地验证文件类型?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。