1. WAF工作原理与防御机制
现代WAF(Web应用防火墙)通过规则引擎和协议解析实现对攻击流量的拦截,其核心流程包括:预处理、规则匹配、拦截响应和日志记录。硬件WAF通常采用串联部署直接阻断攻击,而云WAF通过反向代理方式过滤恶意请求。检测机制主要依赖以下技术:
- 黑名单规则库:基于正则表达式匹配SQL注入、XSS等攻击特征
- 协议完整性验证:检测HTTP请求头异常和编码格式错误
- 行为分析模型:识别高频扫描、暴力破解等异常行为模式
2. WAF绕过技术分类与实践
绕过WAF的核心在于利用规则匹配缺陷和协议解析差异,主要技术路线包括:
- 语法变异:通过大小写转换(如
SeLeCt
)、注释插入(/*!*/
)破坏正则匹配模式 - 编码混淆:采用多重URL编码、Unicode转义或十六进制格式绕过关键字检测
- 协议特性利用:通过分块传输、多参数拆分规避请求体检测
- 通配符技巧:在Linux环境下使用
/???/?s
等路径通配符执行系统命令
3. 漏洞利用实战案例分析
以SQL注入和文件上传漏洞为例,典型绕过方式包括:
漏洞类型 | 绕过方法 | 工具支持 |
---|---|---|
SQL注入 | 内联注释包裹敏感语句 (如 id=1/*!UNION*/SELECT ) |
SqlMap Tamper脚本 |
文件上传 | 修改Content-Type为image/png 附加垃圾数据破坏文件头检测 |
Burp Intruder |
RCE漏洞 | 通配符路径构造 (如 /???/??t+/etc/passwd ) |
手工Payload |
4. 权限提升与持久化策略
突破WAF后的权限控制需考虑:
- 免杀Payload构造:采用内存加载技术规避静态查杀
- 横向移动技巧:利用SMB协议、Windows计划任务传递攻击载荷
- 隐蔽通信通道:通过DNS隧道、HTTPS双向加密传输数据
同时需清理WAF日志中的攻击痕迹,重点关注访问日志、拦截日志和系统审计日志。
WAF绕过本质上是攻击方与防御方对协议理解和规则覆盖率的博弈。渗透测试人员需综合运用语法变异、协议特性、工具自动化等多维度技术,同时关注漏洞利用后的权限维持和痕迹清理。防御方应建立动态规则更新机制,结合行为分析和机器学习提升检测精度。