- 文件上传破绽是指用户上传了一个可执行的脚本文件,并通过此脚本文件取得了执行服务器端命令的能力。
- 常见场景是 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 伪协定