文件上传漏洞
原理
简:没有对客户端上的文件做严格的验证和过滤
详:用户可越过其本身权限向服务器上传可执行的动态脚本文件(WebShell)
文件上传漏洞绕过方法
-
前端JS绕过
-
黑白名单绕过
-
文件类型绕过攻击(mime、文件头、文件内容)
-
文件截断绕过攻击(00截断)
-
中间件解析漏洞
-
竞争条件攻击
-
二次渲染
-
编辑器漏洞
文件上传漏洞防御方法
-
上传目录的的用户执行权限全部取消
-
对上传文件的类型进行判断
-
使用随机数改写文件名和文件路径,如rand(10,99).date("YmdHis").".jpg"
-
网站服务器和文件服务器分离
-
白名单检查,通过白名单的方式判断文件后缀是否合法
-
限制文件大小