在网上搜了一下,一般都是通过文件后缀名判断,很显而易见的是用户通过修改后缀名来逃避,我想问的问题有两个:
- 还有什么验证文件类型的方法?
- 攻击者利用后缀名漏洞能造成什么样的危害?
在网上找到的攻击方式有:
- 修改后缀名(exe->jpg),
- 多后缀名(test.php.fr),
- 后缀名大小写(php->pHp),
- 代码嵌入(图片里注入php代码),
- null字符(00)
- 相对路径(
../../../
)
知乎用户-江南回答
其实对于防御者来说,其实不用这么费劲来进行验证
- 时间戳+随机数+.jpg后缀,强制重命名上传文件
- 隐藏上传后的文件名
- 上传目录不给执行权限
- 上传的文件按照图片执行
时间: 2024-11-01 17:39:33