首页/安全/渗透测试与安全评估速查/盲注检测思路(布尔与时间信号)
常见漏洞验证121 条

盲注检测思路(布尔与时间信号)

页面无报错、无数据回显时,可用“真/假条件响应差异”与“时间延迟差异”两类信号判断注入可能;采样要多次并排除缓存与抖动干扰。

盲注检测思路

盲注指页面既没有报错回显、也没有数据直接展示的注入场景,只能通过间接信号判断:一是布尔信号——构造真、假两个等价条件的请求,比较状态码、响应长度或内容差异;二是时间信号——对比普通请求与含延迟条件请求的耗时。这两类信号都容易受干扰:网络抖动、缓存命中、页面本身含动态内容、CDN 与反向代理的行为都会造成差异。因此采样必须多次并取中位数,且先确认响应未被缓存。盲注结论要谨慎,先把差异用普通业务操作复现一遍,确认确实来自参数处理再记录。

基本信息

布尔信号构造真假两个等价请求,比较状态码、长度或内容差异
时间信号对比普通请求与含延迟条件请求的耗时
采样要求每类信号至少 3 次,取中位数,排除抖动
干扰源缓存、CDN、动态内容、网络抖动
结论要求先用普通操作复现差异,再记录为疑似问题

典型使用场景

  • 无报错页面:错误被统一处理,看不到数据库信息
  • 数据不回显:接口只返回状态,不返回查询结果
  • 接口型应用:返回结构固定,只能比较差异
  • 加固后环境:开启了错误隐藏与统一异常处理
  • 复测验证:确认修复后差异是否消失

排查要点

排查要点
布尔:同一参数 3 组真/假条件对比,排除页面动态内容干扰
时间:测 3 次基准耗时,再测 3 次带延迟条件请求,取中位数
缓存:确认响应未被 CDN 或反向代理缓存(看缓存头)
# 结论前先用普通业务操作复现一次差异
# 记录采样数据与时间,便于复核

信号与干扰排除

信号干扰来源排除方式
布尔差异页面本身动态内容多次采样,比对同一状态下的稳定性
布尔差异缓存命中检查缓存头,加随机参数区分
时间差网络抖动取中位数,差异需远大于抖动幅度
时间差慢查询与批处理避开批量任务时段,确认业务基线
状态码变化反向代理行为结合响应体内容判断,不单看状态码
盲注信号容易误判:先把响应差异用普通业务操作复现一遍,确认差异确实来自参数处理再记录。
单次耗时差就下结论会产生大量误报;忽略等长响应里的内容差异、只比长度,也会漏掉真实问题。

易错点

  • 单次耗时差就下结论,网络抖动会产生大量误报
  • 忽略等长响应里的内容差异,只比长度,漏掉真实问题
  • 未确认响应是否被缓存,把缓存命中差异当作注入信号
  • 把业务批处理造成的慢响应当注入信号,误判且影响结论可信度

数据来源与参考

  • OWASP WSTG WSTG-INPV-05(Blind SQL Injection)
  • PortSwigger Web Security Academy(Blind SQLi)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌