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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-56380 — 发现 Frappe Framework v15.72.4 存在 SQL 注入漏洞,该漏洞可通过 frappe.client.get_value API 端点中的 fieldname 参数触发。 | Kitploit
工具/GitHubGitHub/moalali/cve-2025-56380
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubmoalali/cve-2025-56380

CVE-2025-56380

发现 Frappe Framework v15.72.4 存在 SQL 注入漏洞,该漏洞可通过 frappe.client.get_value API 端点中的 fieldname 参数触发。

查看仓库
11个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-56380 — Frappe / ERPNext 中的基于时间的盲 SQL 注入(frappe.client.get_value)

📌 摘要 在 Frappe Framework v15.72.4 的 frappe.client.get_value API 端点中(以及 ERPNext v15.67.0 代码库中)发现了一个基于时间的盲 SQL 注入漏洞。具有 reporting/client API 访问权限的已认证用户可以通过 fieldname 参数注入 SQL。通过将时间延迟函数(例如 sleep(15))插入 fieldname 参数,攻击者可以通过可测量的响应延迟确认注入 — 从而实现拒绝服务、信息泄露(通过盲注技术)和数据篡改。


🛠 技术详情

  • 漏洞类型: SQL 注入(基于时间的盲注)(CWE‑89)

  • 受影响产品: Frappe Framework / ERPNext

  • 受影响版本(已报告):

    • Frappe — 15.72.4
    • ERPNext — 15.67.0(同一代码库受影响)
  • 受影响组件: frappe.client.get_value API 方法(frappe/client.py)

  • 易受攻击的端点:

    root@kitploit:~
    /api/method/frappe.client.get_value
    

    易受攻击的查询示例:

    root@kitploit:~
    /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
    
  • 易受攻击的参数: fieldname(未正确清理/被拼接进 SQL)

  • 攻击类型: 远程(需要认证和 reporting API 访问权限)

  • 严重性: 高(基于时间的盲 SQL 注入可实现数据外泄、DoS 和数据篡改)

  • 预估 CVSS v3.1 评分: 8.0(高) — 基于需要认证的远程 SQL 注入(可实现数据泄露和 DoS)的评估;权威评分应由 CVE 分配机构执行。

  • 状态: 未修复(按报告所述)

  • 发现者: Mohammed Aloli(GitHub:https://github.com/MoAlali)

  • 发现日期: 报告中未指定

  • CVE ID: CVE-2025-56380


🚀 概念验证(PoC)— 基于时间的盲 SQL 注入

仅在已授权/实验室环境中测试。切勿对您不拥有或无明确测试许可的系统运行。

PoC 请求(示例): 图片

root@kitploit:~
GET /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893

确认步骤

  1. 使用可以访问 reporting/get_value API 的用户对目标 Frappe/ERPNext 实例进行身份验证。
  2. 发送上述 GET 请求(或等效的 URL 编码载荷)。
  3. 观察响应时间;如果响应延迟约 15 秒,则表明基于时间的注入成功。
  4. 重复相同请求以确认可重现性。
  5. 移除注入的 +%2F+sleep(15)+& 载荷,观察响应立即返回 — 确认注入造成了时间延迟。

备注: 根据数据库引擎,可将 sleep(15) 替换为适合后端 DBMS 的其他时间函数或时间值(例如 PostgreSQL 使用 pg_sleep(n))。该 PoC 通过计时演示盲注;可以使用更复杂的载荷逐位提取数据。


🧪 攻击向量与影响

  • 攻击向量: 已认证用户向 /api/method/frappe.client.get_value 构造带有恶意 fieldname 参数(包含 SQL 载荷,即时间延迟函数)的 GET 请求。

  • 影响:

    • 拒绝服务(DoS): 强制服务器响应延迟(若被滥用可导致资源耗尽)。
    • 信息泄露: 通过基于时间的技术(按位/时间条件查询)盲注提取数据。
    • 数据篡改: 如果存在其他 SQL 注入向量,则可能篡改数据库状态。
    • 其他: 影响范围可能根据应用用户所拥有的数据库权限而扩大。

🔐 缓解建议

  1. 参数化查询/预编译语句: 确保 fieldname 及所有用户提供的输入永远不会被直接拼接进 SQL。使用能正确绑定参数的参数化查询或 ORM API。
  2. 严格的输入验证/白名单: 对于应为字段名或标识符的参数,请对照已知有效字段名的严格允许列表进行验证,或使用服务端映射,而不是接受来自客户端的原始字段标识符。
  3. 安全地转义标识符: 如果必须动态使用标识符,请使用特定于数据库的安全标识符引用/转义函数 — 并且仍然限制允许的值。
  4. 数据库账户最小权限: 使用仅具有必要权限的数据库用户运行应用程序(对于报表端点尽可能使用只读权限)。
  5. 速率限制与监控: 实施速率限制,检测异常请求模式或重复的时间延迟测试;对可疑流量发出告警。
  6. 审计与日志记录: 记录敏感 API 端点的请求,并监控可疑载荷(例如 sleep、pg_sleep、benchmark、/、;)。
  7. 补丁与发布: Frappe/ERPNext 开发人员应审计 frappe.client.get_value 及处理 fieldname/filters 的代码路径,用安全 API 替换不安全的拼接,并发布安全补丁。运维人员应及时应用更新。
  8. 安全测试: 添加自动化测试以检测 API 端点中的 SQL 注入(包括基于时间的盲注)。

🔗 参考资料

  • 发现者/报告者:Mohammed Aloli — GitHub:https://github.com/MoAlali — X:https://x.com/alaliksa_ — LinkedIn:https://www.linkedin.com/in/mohammedaloli/
  • Frappe / ERPNext 代码库(审查和修补):https://github.com/frappe/frappe、https://github.com/frappe/erpnext
  • 通用 SQL 注入指南:OWASP SQL 注入速查表 — https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

🙏 致谢

由 Mohammed Aloli 发现


📢 免责声明

此信息仅用于防御和修复目的。请不要尝试针对您不拥有或未经明确授权测试的系统利用此漏洞。运维人员应优先进行修补、应用安全编码修复,并遵循上述缓解建议。

下载工具