SQL 注入高级攻击手册
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sqli-sql-injection-qxn6。
技能介绍
要解决的具体问题
当注入点已经进入需要高阶判断的阶段,基础 UNION、报错注入和布尔盲注往往不够。目标可能是不同数据库语法、 WAF、参数化查询边界、带外通道、二阶触发点,甚至从 SQL 下沉到 OS。这个技能把这类问题整理成可执行的检索路径,而不是重复造 payload。
核心能力与关键步骤
- 先做首轮验证:若只确认了一个可疑 SQL sink,不要先堆专用 payload;先用这里的 first-pass payload families 完成基础验证。
- 按数据库和场景分流:覆盖 per-database exploitation、out-of-band exfiltration、second-order injection、parameterized query bypass、filter evasion、escalation to OS。
- 加载场景文件:需要 Windows MySQL
LOAD_FILE + UNC做 SMB OOB、DNS OOB、INSERT/DELETE/UPDATE差异、ThinkPHP5 array key injection 的updatexml报错、Django GIS Oracleutl_inaddr.get_host_nameCVE、ORDER BY/LIMIT注入时,加载SCENARIOS.md。 - 加载 SQLMap 进阶参考:需要 tamper 矩阵和
space2comment、between、charencode等绕过链、--technique、--risk/--level、--second-url、--os-shell/--os-pwn、INSERT/UPDATE/DELETE数据外带、GraphQL batched/nested/mutation 注入,或 PostgreSQL dollar-sign quoting、MSSQL linked servers、OracleDBMS_PIPE/DBMS_SCHEDULER时,加载SQLMAP_ADVANCED.md。 - Java + Jackson 的 WAF 旁路:如果后端是 Java/Jackson 且 SQL 关键字被 WAF 拦截,可路由到
ghost-bits-cast-attack。Jackson 的charToHex按ch & 0xFF索引,丰(U+4E30)在\uXXXX转义中会解析出 hex digit0,从而把UNION、SELECT、1等关键字拆成\uXXXX转义序列承载,绕过只做普通字符串匹配的 WAF。
适用边界与注意点
- 前提:已掌握
UNION、报错注入、布尔盲注基础;技能不做入门教学。 - 它是 playbook/路由手册,不能替代目标环境确认、授权测试和影响面评估。
- 不同数据库、框架、WAF、网络出网限制会显著改变可行性;
SCENARIOS.md与SQLMAP_ADVANCED.md是条件加载的扩展资料。 - 二阶注入、OS 提权和带外外带风险更高,应单独记录触发条件、回连通道和清理方式。
使用场景
- 已确认 Java + Jackson 后端存在 SQL sink,但 UNION、SELECT 被 WAF 拦截,需要验证 \uXXXX 绕过路径。
- Windows MySQL 场景需要判断能否通过 LOAD_FILE + UNC 发起 SMB OOB 外带并确认出网限制。
- 参数化查询边界已暴露,需要区分 INSERT/UPDATE/DELETE 注入差异并设计最小化数据外带验证。
- 拿到疑似二阶注入点,需要结合 SQLMap 的 --second-url、tamper chain 和 --technique 做进阶判定。
适合人员
- 应用安全工程师,在授权渗透测试中需要高阶 SQLi、WAF 绕过与带外外带判断。
- 后端开发与 DevSecOps,要针对 Java/Jackson、ThinkPHP、Django GIS 做 SQLi 回归和修复验证。
- DBA 与数据库运维,需要评估 Oracle、MSSQL、PostgreSQL 高危函数和带外出网风险。
- 红队与 CTF 选手,需要复现 SMB/DNS OOB、二阶注入和 OS 提权链路。