前言
一般在web网站中都有文件上传的功能(例如:头像上传,数据导入等),如果服务端没有对上传的文件格式做合法性校验,很可能就会被非法上传,一些可执行文件(例如:jsp文件,php文件,shell脚本等),这些可执行文件一旦触发执行,就会危害服务器安全,比如获取服务器操作权限,删除服务器资源等危害。
如何防御
在网站中文件上传的地方,做好文件后缀及文件头验证,只有合法的文件才允许上传。
- 文件后缀校验,例如:图片资源(png,jpg,jpeg,gif等);
- 文件头校验,一般文件都有其特有的文件头;
ps:可以综合1和2一起对上传文件进行格式合法性校验,当然如果简单处理的话,采用1即可。