
一、前言在漏洞赏金Bug Bounty和SRC平台中SQL注入至今仍是** payout 最高、出现频率最稳定**的漏洞类型之一。但面对成百上千个接口、数十种参数位置和千变万化的闭合方式纯手工测试不仅效率低下更容易漏掉那些藏在JSON body、Cookie或Order By里的深洞。今天给各位师傅介绍一款零第三方依赖、纯Python标准库的SQL注入自动化检测引擎——sqli-scanner。它不仅能帮你快速确认注入点还能直接产出带CVSS评分、完整HTTP PoC和sqlmap命令的Markdown报告从发现到提数一条命令闭环。二、工具定位不只是扫描器更是确认制漏洞账本sqli-scanner 由HackSKILL开发定位为红队/CTF级SQL注入探测技能。与市面上那些疑似注入满天飞的工具不同它采用确认制判定逻辑只报确定存在的漏洞不报疑似。历史版本Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入零依赖自动化SQL注入挖掘赏金猎人这意味着什么在赏金挖掘场景中你提交的每一份报告都有扎实的证据链不会被审核以误报打回。实战效果三、核心功能特点8类自动判定覆盖全场景1. 八类注入自动判定确认到即停sqli-scanner 内置了8类探测策略覆盖你能遇到的所有SQL注入场景类型标记适用场景报错型errsql页面回显数据库报错直接命中91条正则经典布尔orboolAND/OR真假判断含登录绕过/盲注字符型stringsql单引号闭合布尔/联合利用数字型numsql数值上下文算术/布尔利用Order ByordersqlORDER BY子句注入EXP布尔boolsql基于表达式溢出/除零的布尔判断时间盲注timesql无回显场景SLEEP延时确认自定义diypoc自定义Payload正则匹配关键设计默认模式下确认到一种注入即停避免冗余请求如需全面评估加--thorough即可测完全部类型。2. 降误报三板斧赏金挖掘最怕的就是狼来了——误报多了SRC审核对你失去信任。sqli-scanner 从三个层面解决HTML过滤动态内容剔除先剥离公共前后缀再计算响应相似度Levenshtein/Jaccard基线复测自动识别动态页面不稳定场景优先用报错/时间型交叉确认二次复现确认真假条件、延时探针均执行复测确保结果稳定3. 全参数位置覆盖无论是GET查询参数、POST表单、JSON body、XML、Cookie还是HTTP头sqli-scanner 都能精准解析并探测bash# GET 参数 python sqli_scan.py -u http://target/item.php?id1 # POST 表单 python sqli_scan.py -u http://target/login --data useradminpassx # JSON 接口 python sqli_scan.py -u http://target/api --data {id:1} --header Content-Type: application/json # Cookie 注入 python sqli_scan.py -u http://target/x?id1 --cookie uid5 --test-cookie4. WAF 绕过内置10种 Tamper遇到Cloudflare、阿里云WAF、安全狗直接上变形链python sqli_scan.py -u http://target/x?id1 --tamper randomcase,space2comment,versionedcomment内置包括随机大小写、空格转注释、版本号注释、URL双重编码等10种tamper可组合使用。5. 产出物直接可用JSON账本 Markdown报告这是赏金猎人最爽的功能——扫描完直接得到一份专业报告JSON账本增量累积多次扫描合并去重只记录确认漏洞Markdown报告每条漏洞含风险等级、CVSS 3.1评分、CWE分类、完整HTTP PoC、sqlmap利用命令、判定理由你几乎可以原样复制进SRC漏洞报告省去大量整理时间。四、实战演示16次扫描10个确认漏洞以下是一次真实靶场扫描的结果基于工具实际输出展示 sqli-scanner 的实战能力漏洞总览#目标参数类型CVSS1GET /user/id?id1id数字型9.82GET /user/id-error?id1id数字型9.83GET /user/id-time-blind?id1id数字型9.84GET /user/name?nameadminname字符型9.85GET /user/name/like?nameaname时间盲注9.86GET /user/name/like/2?nameaname时间盲注9.87GET /user/limit/int?limit1limit时间盲注9.88GET /user/limit/4/orderby?orderbyusernameorderby时间盲注9.89POST /user/post/idid数字型9.810POST /user/post/namename字符型9.810个漏洞覆盖GET/POST、数字型/字符型/时间盲注、URL参数/Body参数/Order By参数。判定逻辑示例数字型注入/user/idPayload1-0-0-0→ 相似度100%算术求值等于原值Payload1-abc→ 相似度11.6%非数字导致报错/空结果判定参数进入数值表达式而非纯数字字面量确认数字型注入。字符型注入/user/namePayloadadmin→ 相似度15.9%破坏SQL字符串Payloadadmin→ 相似度15.9%双引号闭合Payloadadmin→ 相似度100%字符串拼接还原判定单引号可闭合SQL字符串确认字符型注入。时间盲注/user/name/likePayloada AND SLEEP(3)-- -→ 延时3004ms对照SLEEP(0)→ 立即返回1ms判定延时可控无回显也能逐字符提数确认时间盲注。每个漏洞都附带可直接重放的完整HTTP请求和sqlmap命令比如sqlmap -u http://192.168.0.207:8787/user/id?id1 -p id --batch sqlmap -u http://192.168.0.207:8787/user/post/name --data nameadmin -p name --batch五、赏金挖掘实战思路如何用它印钞思路1批量参数收集 → 精准打击不要对着一个URL死磕。先用爬虫/JS分析收集目标所有带参数的接口表单、API、搜索框、筛选器然后批量喂给 sqli-scanner# 多个端点累积到同一账本最后出一份综合报告 python sqli_scan.py -u http://target/api1?id1 --json ledger.json -o report.md python sqli_scan.py -u http://target/api2 --data userx --json ledger.json -o report.md python sqli_scan.py -r captured_request3.txt --json ledger.json -o report.md思路2Cookie和Header别放过很多SRC审核员自己测的时候只测URL参数Cookie注入和X-Forwarded-For注入往往是盲区python sqli_scan.py -u http://target/dashboard --cookie sessionabc; uid1 --test-cookie思路3Order By和Limit是深水区报告中的/user/limit/4/orderby?orderbyusername就是典型的Order By注入。这类注入手工构造麻烦但 sqli-scanner 会自动探测,0/,XXXXXX报错,1/,2还原思路4时间盲注 无回显的救命稻草面对无报错、无布尔差异的哑巴注入点时间盲注是最后的希望。sqli-scanner 内置了全库时间探针MySQLSLEEP、MSSQLWAITFOR、PostgreSQLpg_sleep、OracleDBMS_PIPE、SQLiterandomblob且刻意不用OR SLEEP避免按行延时卡死正常数秒即可出结论。思路5WAF场景先tamper再手工遇到403/拦截页不要放弃。先跑tamperpython sqli_scan.py -u http://target/x?id1 --tamper randomcase,space2comment如果自动化被拦再用--probe做闭合推断和假设-实验循环结合知识库里的WAF绕过方法论手工突破。六、安装与快速上手环境Python 3.7零依赖无需pip安装。# 克隆后直接使用 cd sqli-scanner python scripts/sqli_scan.py -h # 快速扫描示例 python scripts/sqli_scan.py -u http://target/item.php?id1 --json ledger.json -o report.md作为Claude Code Skill使用把目录放到~/.claude/skills/下AI会自动调用该技能进行注入分析。下载Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入零依赖自动化SQL注入挖掘赏金猎人