1. 文件扩展名服务端白名单校验
2. 文件内容服务端校验
3. 上传文件重命名
4. 隐藏上传文件路径
5. 文件上传的目录设置为不可执行
6. 单独设置文件服务器的域名
预防手段:
1、白名单预防,对文件格式限制,只允许某些格式上传
2、对文件格式进行校验,前端跟服务器都要进行校验(前端校验扩展名,服务器校验扩展名、Content_Type等)
3、文件上传的目录设置为不可执行。将上传目录防止到项目工程目录之外,当做静态资源文件路径,并且对文件的权限进行设定,禁止文件下的执行权限。
4、系统维护阶段应该定期查看系统日志,已发现入侵痕迹。
常用的防御手段:
1、客户端进JavaScript检测,检测文件扩展名
2、服务端进行MIME类型检测,检查content-type
3、服务端目录路径检测
4、服务端文件扩展名检测
5、检测文件内容,看是否包含恶意代码
6、将上传文件设置为不可执行