文件上传bypass安全狗
字数 831 2025-08-15 21:31:50
文件上传绕过安全狗防护的教学文档
前言
本教学文档详细介绍了如何绕过安全狗(WAF)的文件上传防护机制,基于FreeBuf文章中的实际案例进行分析和总结。
环境准备
- 操作系统:Windows Server 2008
- Web服务器:Apache + PHP5.4
- 测试IP:10.211.55.29
- 测试平台:upload-labs第一关
- 安全防护:安全狗最新版
基础测试步骤
- 首先上传普通图片文件,使用Burp Suite抓包观察正常上传流程
- 尝试直接修改文件后缀为.php上传,观察安全狗的拦截行为
绕过技术详解
1. 特殊字符插入法
方法:在文件名中插入特殊字符
- 将"test.php"改为"t;est.php"
- 将"test.php"改为"t'est.php"
效果:安全狗拦截消失,文件可以成功上传
2. 空格插入法
方法:在文件扩展名中插入空格
- 将"test.php"改为"test.ph p"
效果:绕过安全狗检测
3. 数字变形法
方法:在文件名中加入数字变形
- 将"test.php"改为"test1.php"
- 将"test.php"改为"test2.php"
效果:成功绕过防护
技术原理分析
这些绕过方法主要利用了以下原理:
- 特殊字符解析差异:WAF和Web服务器对特殊字符(如分号、单引号)的解析方式不同
- 空格处理差异:WAF可能严格匹配".php"而忽略".ph p"这样的变形
- 规则匹配不完善:安全狗的规则库可能没有覆盖所有可能的变形方式
防御建议
针对这类绕过技术,建议采取以下防御措施:
- 文件内容检测而不仅依赖扩展名检查
- 实现严格的文件名规范化处理
- 禁止上传文件包含特殊字符
- 对上传文件进行重命名
- 结合文件内容签名检测
总结
本教学文档展示了多种绕过安全狗文件上传防护的技术,这些技术主要利用了WAF规则匹配的不足和解析差异。安全防护需要多层次、多角度的防御策略,单纯依赖WAF可能无法完全防止文件上传漏洞的利用。