Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入,零依赖自动化SQL注入挖掘,赏金猎人

一、前言

在漏洞赏金(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条正则
经典布尔 orbool AND/OR真假判断,含登录绕过/盲注
字符型 stringsql 单引号闭合,布尔/联合利用
数字型 numsql 数值上下文,算术/布尔利用
Order By ordersql ORDER 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?id=1"

# POST 表单
python sqli_scan.py -u "http://target/login" --data "user=admin&pass=x"

# 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?id=1" --cookie "uid=5" --test-cookie

4. WAF 绕过内置10种 Tamper

遇到Cloudflare、阿里云WAF、安全狗?直接上变形链:

复制代码
python sqli_scan.py -u "http://target/x?id=1" --tamper randomcase,space2comment,versionedcomment

内置包括:随机大小写、空格转注释、版本号注释、URL双重编码等10种tamper,可组合使用。

5. 产出物直接可用:JSON账本 + Markdown报告

这是赏金猎人最爽的功能------扫描完直接得到一份专业报告

  • JSON账本:增量累积,多次扫描合并去重,只记录确认漏洞

  • Markdown报告:每条漏洞含风险等级、CVSS 3.1评分、CWE分类、完整HTTP PoC、sqlmap利用命令、判定理由

你几乎可以原样复制进SRC漏洞报告,省去大量整理时间。

四、实战演示:16次扫描,10个确认漏洞

以下是一次真实靶场扫描的结果(基于工具实际输出),展示 sqli-scanner 的实战能力:

漏洞总览

# 目标 参数 类型 CVSS
1 GET /user/id?id=1 id 数字型 9.8
2 GET /user/id-error?id=1 id 数字型 9.8
3 GET /user/id-time-blind?id=1 id 数字型 9.8
4 GET /user/name?name=admin name 字符型 9.8
5 GET /user/name/like?name=a name 时间盲注 9.8
6 GET /user/name/like/2?name=a name 时间盲注 9.8
7 GET /user/limit/int?limit=1 limit 时间盲注 9.8
8 GET /user/limit/4/orderby?orderby=username orderby 时间盲注 9.8
9 POST /user/post/id id 数字型 9.8
10 POST /user/post/name name 字符型 9.8

10个漏洞,覆盖GET/POST、数字型/字符型/时间盲注、URL参数/Body参数/Order By参数。

判定逻辑示例

数字型注入(/user/id):

  • Payload 1-0-0-0 → 相似度100%(算术求值等于原值)

  • Payload 1-abc → 相似度11.6%(非数字导致报错/空结果)

判定:参数进入数值表达式而非纯数字字面量,确认数字型注入。

字符型注入(/user/name):

  • Payload admin' → 相似度15.9%(破坏SQL字符串)

  • Payload admin'' → 相似度15.9%(双引号闭合)

  • Payload admin'+' → 相似度100%(字符串拼接还原)

判定:单引号可闭合SQL字符串,确认字符型注入。

时间盲注(/user/name/like):

  • Payload a' AND SLEEP(3)-- - → 延时3004ms

  • 对照 SLEEP(0) → 立即返回1ms

判定:延时可控,无回显也能逐字符提数,确认时间盲注。

每个漏洞都附带可直接重放的完整HTTP请求sqlmap命令,比如:

复制代码
sqlmap -u "http://192.168.0.207:8787/user/id?id=1" -p id --batch
sqlmap -u "http://192.168.0.207:8787/user/post/name" --data "name=admin" -p name --batch

五、赏金挖掘实战思路:如何用它"印钞"

思路1:批量参数收集 → 精准打击

不要对着一个URL死磕。先用爬虫/JS分析收集目标所有带参数的接口(表单、API、搜索框、筛选器),然后批量喂给 sqli-scanner:

复制代码
# 多个端点累积到同一账本,最后出一份综合报告
python sqli_scan.py -u "http://target/api1?id=1" --json ledger.json -o report.md
python sqli_scan.py -u "http://target/api2" --data "user=x" --json ledger.json -o report.md
python sqli_scan.py -r captured_request3.txt --json ledger.json -o report.md

思路2:Cookie和Header别放过

很多SRC审核员自己测的时候只测URL参数,Cookie注入和X-Forwarded-For注入往往是盲区

复制代码
python sqli_scan.py -u "http://target/dashboard" --cookie "session=abc; uid=1" --test-cookie

思路3:Order By和Limit是"深水区"

报告中的 /user/limit/4/orderby?orderby=username 就是典型的Order By注入。这类注入手工构造麻烦,但 sqli-scanner 会自动探测:

  • ,0 / ,XXXXXX 报错

  • ,1 / ,2 还原

思路4:时间盲注 = 无回显的救命稻草

面对无报错、无布尔差异的"哑巴"注入点,时间盲注是最后的希望。sqli-scanner 内置了全库时间探针 (MySQL SLEEP、MSSQL WAITFOR、PostgreSQL pg_sleep、Oracle DBMS_PIPE、SQLite randomblob),且刻意不用OR SLEEP(避免按行延时卡死),正常数秒即可出结论。

思路5:WAF场景先tamper再手工

遇到403/拦截页,不要放弃。先跑tamper:

复制代码
python sqli_scan.py -u "http://target/x?id=1" --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?id=1" --json ledger.json -o report.md

作为Claude Code Skill使用 :把目录放到 ~/.claude/skills/ 下,AI会自动调用该技能进行注入分析。

下载

Sqli-Scanner SQL注入SKILL自动化挖掘SQL注入,零依赖自动化SQL注入挖掘,赏金猎人

相关推荐
GEO优化小助手1 小时前
2026临沂GEO优化公司实测解析:3家本土机构适配性参考
大数据·人工智能·python
NeilYuen1 小时前
gRPC结合FAISS构建AI助手语义缓存模块(一):设计
人工智能·缓存·faiss
unique1 小时前
AI Coding 工具使用监控 — 市场竞品调研报告
人工智能·ai编程
环球科讯1 小时前
爱征信 惠民生 促发展——建行江西省新余市分行开展征信知识进商户宣讲活动
人工智能
Dick5071 小时前
ROS2 常用命令表
人工智能·学习·算法·机器人
云烟成雨TD1 小时前
Agent Scope Java 2.x 系列【19】Harness:从零搭建 MySQL 文件系统
java·人工智能·agent
l1t1 小时前
DuckDB对group by cube / rollup / groupping sets查询的优化
数据库·duckdb
keyanbanyungong1 小时前
AI绘图行业乱象:科学失真、素材侵权,MedPeer如何重构科研可视化行业
人工智能
咕咕AI学堂2 小时前
并发编程模式:从生产者-消费者到 Actor 的工程实践
人工智能