Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/tc4dy/cve-2026-57821-poc-exploit
静态分析漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育数据库安全

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
GitHub
tc4dy/cve-2026-57821-poc-exploit

CVE-2026-57821-PoC-Exploit

🔐 CVE-2026-57821 - Apache Fineract SQL 注入工具包 📚 两个用于授权安全测试的 Python 脚本:verifier.py(安全检测,无数据提取)和 exploit.py(深度分析)。支持 11 种数据库类型。非常适合理解 SQL 注入漏洞。仅限合法测试 ⚠️ 仅供教育与研究用途。

查看仓库
321个月前尚未审核
分享

CVE-Picture

🛡️ CVE-2026-57821 – Apache Fineract SQL 注入

⚠️ 法律与道德声明
本工具包仅供教育、培训和经授权的安全测试使用。
未经明确书面许可而对任何系统进行未经授权的使用均属违法,并违反计算机犯罪相关法律。
作者对滥用或造成的损害不承担任何责任。
您须对自己的行为负全部责任。


📋 漏洞概述

CVE-2026-57821 是 Apache Fineract 的办公室列表 API 端点中发现的一个 SQL 注入 漏洞。

🎯 受影响组件

属性详情
端点/api/v1/offices
参数orderBy
方法GET
是否需要认证是(仅限已认证用户)
受影响版本Apache Fineract ≤ 1.14.0
修复版本Apache Fineract 1.15.0

🧠 工作原理

该漏洞的存在是因为 orderBy 参数未经适当的净化处理便被直接嵌入 SQL 查询。持有有效凭据的攻击者可以向 orderBy 参数注入用括号 () 包裹的子查询。

为何能绕过之前的修复:

  • CVE-2024-32838 引入了 ColumnValidator 来净化 ORDER BY 子句
  • 该验证器无法检测括号内的裸子查询
  • 这使得攻击者可以在 ORDER BY 上下文中执行任意 SQL

示例攻击向量:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

⚡ 潜在影响

影响描述
数据窃取基于时间的盲注可提取敏感数据库内容
拒绝服务重型查询可耗尽连接池资源
信息泄露基于报错的技术可揭示数据库结构及数据

👤 发现与披露


🗄️ 支持的数据库系统

本工具包可自动检测数据库类型,并为 11 种不同的数据库后端 适配相应的利用技术:


🛠️ 工具包组件

本项目提供两个 Python 脚本,适用于不同的安全评估场景:

📊 verifier.py – 安全且最小化的验证工具

用途: 在不提取数据的情况下快速证明漏洞是否存在。

功能:

  • 发送数据库特定的测试载荷
  • 检测时间延迟或错误消息
  • 针对每种数据库类型报告 VULNERABLE 或 NOT VULNERABLE
  • 不窃取任何数据

✅ 优势:

  • 极快(数秒内完成)
  • 法律风险低(仅验证漏洞是否存在)
  • 非常适合初步安全扫描
  • 输出适合合规性报告

📋 使用场景: 用于判断目标是否存在漏洞的初步评估。

🔬 exploit.py – 综合性安全分析工具

用途: 充分利用漏洞以提取数据库信息。

功能:

  • 自动检测数据库类型
  • 使用二分搜索逐字符提取
  • 可获取:版本、当前用户、数据库名称、表列表(可配置)
  • MSSQL:基于报错的提取
  • 其他:基于时间的提取并带有基线校准

✅ 优势:

  • 提供具体的影响证据
  • 展示漏洞的完整影响范围
  • 详细的彩色日志输出

📋 使用场景: 在漏洞确认后进行深入的安全分析。

🔍 关键区别: verifierPoC.py 告诉您目标是否存在漏洞;exploit.py 向您展示可以提取什么。两者在安全评估工作流中扮演不同但互补的角色。


⚙️ 安装与配置

前提条件

  • Python 3.6+
  • requests 库
root@kitploit:~
pip install requests

⚙️ 配置变量

请编辑两个脚本顶部的以下变量:

🚀 使用指南

1️⃣ exploit.py - 深度扫描

root@kitploit:~
python3 exploit.py

预期输出:

root@kitploit:~
CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!

CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)

Interpretation: If VULNERABLE appears for any database type, the target is affected.

🎯 技术规格

CVSS 评分 指标 值 CVSS v3.1 基础评分 8.1(高危) 向量 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 攻击向量 网络 所需权限 低 用户交互 无 EPSS 评分

root@kitploit:~
0.29%(30 天内被利用的概率)

CWE 映射

root@kitploit:~
CWE‑89:对 SQL 命令中使用的特殊元素中和不当('SQL 注入')

🧪 技术深入剖析

为什么该载荷有效

Apache Fineract 1.14.0 中的漏洞代码:

root@kitploit:~
// Simplified vulnerable logic
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // VALIDATOR FAILS FOR: "(SELECT ...)"
    // Only checks against simple column names
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Executes query with user input directly
}

攻击者载荷示例:

root@kitploit:~
GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

生成的 SQL:

root@kitploit:~
SELECT * FROM offices ORDER BY (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)

ColumnValidator 只检查列名,却遗漏了嵌套子查询,从而允许执行任意 SQL。

🛡️ 缓解措施

下载工具
属性详情
发现者 / 报告者Terence Monteiro(Apache Fineract 团队)
公开披露日期2026 年 7 月 14 日
修复版本Apache Fineract 1.15.0
官方公告Apache 邮件列表
GitHub 修复PR #6048
数据库检测方法利用技术
PostgreSQL基于时间(pg_sleep)基于时间的盲注
MySQL基于时间(SLEEP)基于时间的盲注
MariaDB基于时间 + @@version_comment基于时间的盲注
MSSQL基于报错(CONVERT 失败)基于报错
Oracle基于时间(DBMS_LOCK.SLEEP)基于时间的盲注
SQLite重型查询(笛卡尔连接)基于时间(重型)
Firebird重型查询(笛卡尔连接)基于时间(重型)
DB2重型查询(笛卡尔连接)基于时间(重型)
Informix重型查询(笛卡尔连接)基于时间(重型)
H2重型查询(笛卡尔连接)基于时间(重型)
未知(通用)回退到 PostgreSQL基于时间
变量描述默认值
TARGETFineract API 的 URLhttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMEAPI 认证用户名mifos
PASSWORDAPI 认证密码password
TENANT_ID租户标识符default
BASE_SLEEP基于时间测试的休眠时长(exploit.py)6
SLEEP_SECONDS基于时间测试的休眠时长(verifier.py)5
TIMEOUTHTTP 请求超时25 (exploit) / 15 (verifier)
MAX_RETRIES失败请求的重试次数2
措施优先级
升级到 Apache Fineract 1.15.0+🔴 严重
应用 PR #6048 补丁🔴 严重
WAF 规则: 阻止 orderBy 中包含 (SELECT、SLEEP(、pg_sleep(、WAITFOR🟠 高
监控日志中带括号或子查询关键字的 orderBy🟠 高
数据库连接池监控以检测资源耗尽🟡 中