- 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。
- 常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。
客户端校验
1.通过javascript来校验上传文件的后缀是否合法,可以采用白名单,也可以采用黑名单的方式
服务器端校验
1.校验请求头 content-type字段,
2.文件头校验
.JPEG;.JPE;.JPG,“JPGGraphicFile”
.gif,”GIF89A”
.zip,”ZipCompressed”
.doc;.xls;.xlt;.ppt;.apr,”MSCompoundDocumentv1orLotusApproachAPRfile”
3.文件加载检测
4.后缀名黑名单校验
5.后缀名白名单校验
- Get shell最佳手段
- 任意文件上传
- 拒绝服务攻击
• str_ireplace() 替换敏感字符
•服务端白名单校验
•文件名随机命名,文件路径重命名
•限制上传目录执行权限
•采用成熟的框架接口处理文件上传
•文件服务器和后台服务器分离
•权限最新小化
•Waf防火墙
•APT监控
•文件服务器病毒扫描
文件读取漏洞
- PHP开发不当
- Java开发不当
- 错误的配置
- PHP伪协议
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。