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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-56381 — ERPNEXT v15.67.0 被发现包含多个 SQL 注入漏洞,位于 /api/method/frappe.desk.reportview.get 端点中,通过 order_by 和 group_by 参数触发。 | Kitploit
工具/GitHubGitHub/moalali/cve-2025-56381
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubmoalali/cve-2025-56381

CVE-2025-56381

ERPNEXT v15.67.0 被发现包含多个 SQL 注入漏洞,位于 /api/method/frappe.desk.reportview.get 端点中,通过 order_by 和 group_by 参数触发。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-56381 — ERPNext / Frappe 中通过 order_by 和 group_by 参数实现的身份验证后 SQL 注入

📌 摘要 ERPNext v15.67.0 和 Frappe Framework v15.72.4 在 frappe.desk.reportview.get API 端点中包含多个身份验证后的 SQL 注入漏洞。对 order_by 或 group_by 参数的恶意输入可用于注入并执行任意 SQL 语句。这使得经过身份验证的用户(具有报表的基本访问权限)能够提取敏感数据、执行数据库枚举,并可能操纵或提升系统内的权限。


🛠 技术细节

  • 漏洞类型: SQL 注入(CWE-89)

  • 受影响产品: ERPNext / Frappe

  • 受影响版本:

    • Frappe — 15.72.4
    • ERPNext — 15.67.0
  • 受影响端点:

    root@kitploit:~
    POST /api/method/frappe.desk.reportview.get
    
  • 易受攻击的参数:

    • order_by
    • group_by
  • 是否需要身份验证: 是(通过 sid cookie 的有效会话)

  • 攻击类型: 远程

  • 严重性: 高(SQL 代码执行、数据泄露、潜在权限提升)

  • 预估 CVSS v3.1 评分: 8.6(高) — 预估;最终评分应由官方 CVE 机构指定。

  • 状态: 未修复(截至披露时)

  • 发现者: Mohammed Aloli(GitHub、X、LinkedIn)

  • CVE ID: CVE-2025-56381


🚀 概念验证(PoC)— 基于错误的 SQL 注入

image

✅ 仅在您拥有或已获得明确许可的系统上进行测试。未经同意,不要在生产系统上使用。

❗ 载荷(URL 编码):

root@kitploit:~
%28select%20updatexml%28null%2Cconcat%280x7e%2Cdatabase%28%29%2C0x7e%29%2Cnull%29%29

示例 JSON 请求体(POST 请求):

root@kitploit:~
{
  "doctype": "User",
  "order_by": "(select updatexml(null,concat(0x7e,database(),0x7e),null))"
}

这确认了 SQL 注入已成功执行,并且当前数据库名称已被泄露。


🧪 利用场景

  1. 攻击者以基本权限(例如,访问标准报表的权限)登录 ERPNext/Frappe 实例。
  2. 向 /api/method/frappe.desk.reportview.get 发送一个带有恶意 order_by 或 group_by 载荷的精心构造的 POST 请求。
  3. 后端在未进行清理的情况下,将此值直接注入到 SQL 查询中。
  4. 攻击者看到数据库错误,其中揭示了注入的输出——从而确认注入成功。
  5. 根据底层数据库配置,同样的技术可以与基于时间的载荷、基于 UNION 的注入或权限提升路径相结合。

🔐 缓解建议

  1. 使用参数化查询: 所有用户输入都必须安全绑定,绝不直接拼接到 SQL 查询中。
  2. 严格输入验证: 在处理之前,根据已知的可接受列名白名单验证 order_by 和 group_by。
  3. 正确转义标识符: 如果需要动态使用,请使用特定于 DBMS 的列/字段标识符转义方法。
  4. 最小化暴露面: 根据用户角色和信任级别,限制对 /reportview.get API 和报表功能的访问。
  5. 清理日志: 避免记录原始注入载荷,以防止在审计系统中泄露。
  6. API 请求速率限制: 限制高频 API 调用,以减少盲注或基于错误的枚举尝试的影响。
  7. 应用补丁: Frappe 维护者应发布补丁以保护此端点,并审计其他 frappe.desk 方法。操作员应在补丁可用后立即升级。

🔗 参考

  • 发现者:Mohammed Aloli

    • GitHub:MoAlali
    • X(Twitter):@alaliksa_
  • Frappe Framework:https://github.com/frappe/frappe

  • ERPNext 项目:https://github.com/frappe/erpnext

  • OWASP SQL 注入速查表:https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

📢 免责声明

本公告仅用于教育和防御性安全研究目的。未经授权利用此漏洞是非法的且不道德的。如果您是 ERPNext 或 Frappe 的开发人员或管理员,请立即应用建议的缓解措施,并监控异常的 API 使用情况。


下载工具