Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-65899 — DifuseHQ Kalmia CMS 版本 0.2.0 容易通过 /kal-api/auth/jwt/create 认证端点中的可区分错误响应导致用户枚举漏洞。 | Kitploit
工具/GitHubGitHub/noxurge/cve-2025-65899
侦察漏洞分析信息收集Web安全渗透测试身份验证
GitHubnoxurge/cve-2025-65899

CVE-2025-65899

DifuseHQ Kalmia CMS 版本 0.2.0 容易通过 /kal-api/auth/jwt/create 认证端点中的可区分错误响应导致用户枚举漏洞。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-65899:Kalmia CMS v0.2.0 - 存在可观察响应差异漏洞

漏洞概述

CVE ID: CVE-2025-65899
产品: DifuseHQ Kalmia CMS
受影响版本: 0.2.0
漏洞类型: 可观察响应差异
所需权限: 无

影响

允许未经身份验证的攻击者枚举有效用户名,从而实施有针对性的密码喷洒、凭证填充和账户发现攻击。

修复版本

待维护者审批 - https://github.com/DifuseHQ/Kalmia/pull/34

描述

Kalmia CMS 0.2.0 版本在其身份验证机制中存在用户枚举漏洞。应用程序对于不存在的用户(user_not_found)与存在但密码错误的用户(invalid_password)返回不同的错误消息。这种可观察的响应差异使未经身份验证的攻击者能够枚举系统上的有效用户名,进而可用于后续的针对性攻击,如密码喷洒或社会工程学。

技术细节

受影响组件

  • 身份验证端点: /kal-api/auth/jwt/create
  • HTTP 方法: POST
  • 身份验证逻辑: JWT 令牌创建过程

漏洞根本原因

身份验证系统未能实现一致的错误响应,通过不同的错误消息泄露了用户账户的存在信息:

  • 无效用户名: 返回 {"message": "user_not_found"}
  • 有效用户名 + 无效密码: 返回 {"message": "invalid_password"}

这种响应差异使攻击者可以区分不存在的用户账户和有效用户账户。

利用过程

步骤 1:测试无效用户

无效用户响应 攻击者尝试使用不存在的用户名进行身份验证,并观察到服务器响应返回“User not found”。

步骤 2:Burp Suite 分析 - 用户未找到

Burp Suite 用户未找到 使用 Burp Suite 拦截并分析身份验证请求,攻击者确认服务器对于无效用户名返回 user_not_found,表明该用户不在系统中。

步骤 3:Burp Suite 分析 - 无效密码

Burp Suite 无效密码 当使用有效用户名但错误密码进行测试时,Burp Suite 捕获到的服务器响应显示 invalid_password,确认该用户名存在于系统中。

步骤 4:后端逻辑分析

后端代码逻辑 对后端身份验证逻辑的分析揭示了导致返回不同错误消息的有缺陷实现:

  • 系统首先检查用户是否存在
  • 如果用户不存在:返回 user_not_found
  • 如果用户存在但密码错误:返回 invalid_password

这种顺序验证过程造成了可观察的差异,从而实现了用户枚举。

概念验证 (PoC)

使用提供的利用脚本

cve-2025-65899.py 脚本自动化了用户枚举过程:

python cve-2025-65899.py <TARGET_URL> [OPTIONS]

脚本参数:

  • url:目标 Kalmia CMS 基础 URL(必需)
  • -u, --user:要测试的单个用户名
  • -p, --password:用于测试的密码(必需)
  • -w, --wordlist:用于批量用户枚举的字典文件

使用示例:

单用户测试:
# 测试特定用户是否存在
python cve-2025-65899.py http://target.com:2727 -u admin -p wrongpass

# 结果:
# [+] Valid user: admin(如果用户存在)
# 或者
# (如果用户不存在则无输出)
批量用户枚举:
# 从字典文件枚举用户
python cve-2025-65899.py http://target.com:2727 -w users.txt -p wrongpass

# 创建一个简单的字典文件
echo -e "admin\nuser\nadministrator\ntest\nguest" > users.txt

脚本工作流程:

  1. 单用户模式:测试一个用户名并判断其是否存在
  2. 枚举模式:遍历潜在用户名字典文件
  3. 响应分析:分析服务器响应,将用户分类为:
    • 不存在:无输出(user_not_found 响应)
    • 有效:显示为“Valid user found”
    • 有效凭证:如果密码也正确

参考资料

  • CVE 详情:CVE-2025-65899
  • CWE-204:可观察响应差异

免责声明:此信息仅供教育和防御目的。用户需确保在测试任何系统前已获得适当授权。

下载工具