SQL 注入防护是什么
SQL 注入防护检测请求参数、Cookie、请求头中的注入特征,在恶意请求到达应用前拦截。主流 WAF 结合特征匹配与语义分析、异常评分来判断,误报主要来自业务本身会传特殊字符的场景,例如富文本编辑器、搜索关键字与包含符号的编号字段。处置原则是:对高危参数开启阻断,对已知会误报的参数做例外或降级检测,而不是一刀切全部放行。
基本信息
| 检测位置 | URL 参数、请求体、Cookie、请求头等全部用户可控输入 |
|---|---|
| 可用动作 | 观察(只记录)、阻断(返回拦截页或直接断开) |
| 降低误报 | 对业务参数设白名单、对特定路径降级检测强度 |
| 常见误报源 | 富文本内容、搜索关键字、含特殊符号的业务编号 |
| 根因修复 | 应用侧使用参数化查询,WAF 只是纵深防御的一层 |
典型使用场景
- 新站上线:先观察模式积累特征,再按接口切阻断
- 业务接口改造:上线前对搜索、筛选类接口做误报评估
- 攻击频发期:对确证利用的来源与特征临时提升处置动作
- 审计与合规:留存注入类告警与处置记录
- 源头整改:把 WAF 告警作为代码层修复的输入清单
防护配置要点
防护配置要点
1. 注入类规则以阻断为主要动作,高风险接口优先
2. 富文本编辑器、搜索参数加入例外或降级为观察
3. 关注告警中的参数名与规则编号,而不是只看总数
4. 结合访问日志确认是否为真实利用尝试,再调整动作
5. 告警量异常上升时,配合频率限制与来源封禁一起处置误报处置对照
| 现象 | 常见原因 | 处置方式 |
|---|---|---|
| 正常提交被拦 | 业务参数含特殊字符 | 该参数加例外或降级检测 |
| 编辑器内容被拦 | 富文本含标签与符号 | 对编辑接口单独放宽规则 |
| 批量误报集中在同一接口 | 接口参数结构特殊 | 按接口维度调整规则强度 |
| 告警量突然上升 | 扫描或注入尝试增加 | 结合来源地址与频率限制处置 |
| 切阻断后业务异常 | 观察期不充分 | 先回退到观察模式再逐条排查 |
注入防护是纵深防御的一环,根因仍是应用侧使用参数化查询与输入校验:把 WAF 告警当作代码整改的输入,而不是长期依赖规则兜底。