星巡研究院
漏洞机制更新 2026-11-08

注入类漏洞:机制与检测清单

从「数据被当成代码」这一条根因出发,拆开联合查询、报错回显、跨站脚本三类注入在数据库与浏览器里的实际行为,并给出防守侧的观测点。

注入不是一类技巧,而是同一个错误的三种表现:程序把用户输入放进了本该只放语法的位置。下面只描述机制与检测口径,不提供任何可直接复制的攻击串——要动手,去靶场。

联合查询拼接

机器里发生了什么
输入被拼进查询语句后,数据库解析器把它当作 SQL 语法的一部分,原有查询结构被改写,返回结果集可能被追加或替换。
防守方怎么发现
数据库侧出现结构异常的慢查询与非常规语法;WAF 对成组 SQL 关键字告警;同一接口响应体长度突然变化。
最容易讲错的地方
能不能成功取决于拼接位置(字符串、数字、排序、表名)与过滤策略,不是「带上关键字就一定通」。

报错回显

机器里发生了什么
构造能触发数据库错误的输入,让执行计划在报错时把内部表达式的值带进错误信息,从而绕过「查询结果不回显」的限制。
防守方怎么发现
生产环境关闭详细报错、统一错误页;监控 5xx 响应体中的数据库关键字;对同一参数的高频异常输入限速封禁。
最容易讲错的地方
报错注入属于 SQL 层问题,和 HTTP 500 不是因果关系——500 只是表征,多数 500 与注入无关。

跨站脚本

机器里发生了什么
输入被拼进 HTML 文本或属性位置且未做输出编码,浏览器解析时把这段数据当成标签或脚本执行,数据与代码的边界被打破。
防守方怎么发现
CSP 违规报告;Cookie 设 HttpOnly 后仍出现会话异常;前端模板渲染链路里出现未编码的插值。
最容易讲错的地方
存储型、反射型、DOM 型的触发位置完全不同;只测「弹窗」会漏掉真正影响业务的那一类。

红线与边界

  • ·本文只保留机制描述。任何完整可执行串(联合查询、报错函数、脚本标签)都不在本站公开,需要练习请使用星巡靶场。
  • ·排查注入的第一顺位不是找 payload,而是确认参数最终落到哪一层:SQL、模板、命令、文件路径。层没定位对,后面全是试。

继续往下读