文件上传
本文最后更新于 2025年4月6日 晚上
文件上传
介绍
文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全
问题,耐于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件
类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言
版本,语言函数,中间件,引用的第三方编辑器等存在缺陷地方配合利用。另外文件上传
也有多个存储逻辑,不同的文件存储方案也会给攻击者带来不一样的挑战!
前后端验证
前端js验证
1.可直接在前端页面修改后缀限制
2.可抓包修改后缀
3.可以上传.htaccess文件 内容为
1 |
|
后端验证
1.抓包改变content-type 为想要的文件类型(MIME)
2.修改后门文件为图片文件头来绕过(文件头检测)
1 |
|
黑名单
检测上传文件后缀是不是在黑名单里,是就gg,不在就通过
1.双写绕过(没递归检测,只检测一次)
2.大小写绕过(大小写不敏感-windows)
白名单
1.大小写绕过
2.某些逻辑缺陷
函数缺陷
move_uploaded_file()函数,如果上传的文件名可控,可修改成xxx.php/.来绕过,上传会变成xxx.php/