Agent Skills
返回列表
🔒

攻击性SQL注入

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/offensive-sqli-lr-882i。

技能介绍

问题:传统测试的三个断点

传统SQL注入测试常陷入“工具驱动”的循环:用扫描器跑一遍,报几个报错就结束,隐蔽点(如无回显的盲注、WebSocket消息中的参数)被忽略;即使找到漏洞,也常因缺乏系统方法论,导致结果难复现、修复建议空泛。

核心能力与关键步骤

这个技能把攻击性测试拆成五个可落地的环节:

  • 第一步:全量输入向量映射:先梳理所有可能触达数据库的入口——URL参数、POST体、Cookie、请求头、API过滤条件、甚至WebSocket消息,避免“漏测角落”。
  • 第二步:分层探测与回退机制:先插入经典payload(如' OR 1=1 --)触发可见错误;若无回显,自动切换到推断型测试(布尔盲注、时间盲注),解决“无报错即无漏洞”的误判。
  • 第三步:数据库指纹与Schema枚举:通过响应时间、错误消息等特征识别数据库类型,再枚举表结构,为后续利用铺路。
  • 第四步:可控利用与范围适配:在授权范围内提取数据、提升权限或测试RCE,而非盲目破坏。
  • 第五步:可操作的结果输出:将发现整理成报告,附具体修复建议(如参数化查询、最小权限原则)。

适用边界与注意点

  • 授权优先:仅限自有系统或已获书面授权的场景,测试前需明确范围,避免触碰敏感数据。
  • 隐蔽点处理:对时间盲注等依赖延迟的测试,需控制请求频率,防止被误判为攻击。
  • 结果反馈:修复建议需结合具体技术栈(如Java用PreparedStatement,Python用SQLAlchemy参数绑定),而非通用口号。

使用场景

  • 渗透测试工程师在授权测试中,需梳理 API 所有可能触达数据库的输入点,排查 WebSocket 消息中的注入风险
  • 开发团队发现前端表单无报错,需通过布尔盲注推断数据库类型,确认是否存在隐蔽的 SQL 注入漏洞
  • 安全审计人员针对支付系统,按方法论枚举数据库表结构,验证越权数据提取路径并输出修复建议
  • 运维工程师排查历史漏洞时,需识别请求头与 Cookie 中的注入点,完成全量入口的映射与验证

适合人员

  • 安全测试工程师:需要一套不依赖扫描器的新型测试思路,避免因工具局限遗漏隐蔽注入向量
  • 后端开发工程师:在代码评审或联调阶段快速定位数据库操作中的潜在注入风险
  • DevOps 运维工程师:修复历史遗留的 SQL 注入漏洞时,需要明确参数入口及对应的数据流
  • 数据库管理员:在安全加固阶段通过系统枚举验证权限最小化策略的实际效果