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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-67875 — CVE-2025-67875 - ChurchCRM 存在通过人员属性分配导致的存储型 XSS,可导致管理员会话劫持 | Kitploit
工具/GitHubGitHub/lukasz-rybak/cve-2025-67875
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHublukasz-rybak/cve-2025-67875

CVE-2025-67875

CVE-2025-67875 - ChurchCRM 存在通过人员属性分配导致的存储型 XSS,可导致管理员会话劫持

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-67875:ChurchCRM 通过人员属性分配存在存储型 XSS,可导致管理员会话劫持

概述

字段详细信息
CVE IDCVE-2025-67875
严重性高
公告查看公告
发现者Lukasz Rybak

受影响产品

  • ChurchCRM/CRM

详细信息

摘要

ChurchCRM 6.3.0 及更早版本中存在一个严重的权限提升漏洞。拥有特定中等级别权限(“编辑记录”和“管理属性和分类”)的已认证用户可以向管理员个人资料中注入持久性跨站脚本(XSS)载荷。当管理员查看其个人资料页面时,该载荷就会执行,从而使攻击者能够劫持管理员的会话、执行管理操作并实现完全账户接管。

此漏洞是两种独立缺陷的组合:一种是不安全的直接对象引用(IDOR),允许任何用户查看任何其他用户的个人资料;另一种是失效的访问控制漏洞,允许拥有常规编辑权限的用户修改任何其他用户的记录属性。

详细信息

攻击链如下:

  1. PersonView.php 中的 IDOR: PersonView.php 的开头没有授权检查。任何已认证用户只需知道其他用户的 ID,即可查看其个人资料页面(例如,管理员的 PersonView.php?PersonID=1)。

  2. PropertyAssign.php 中的失效的访问控制: 可从其他用户的 PersonView.php 页面访问的“分配新属性”功能会将用户引导至 PropertyAssign.php。该脚本正确地检查了用户是否拥有常规的 isEditRecordsEnabled() 权限,但未能执行对象级授权检查,以验证用户是否被允许编辑 URL 中传入的特定 PersonID。这允许拥有“编辑记录”权限的用户修改系统中任何人的属性,包括管理员。

  3. 存储型 XSS 向量: 攻击者可以利用这两个缺陷导航至管理员的个人资料页面,并使用“分配新属性”表单将恶意 XSS 载荷保存到管理员的记录中。基于文本的属性的 Value 字段在输入时未得到适当的清理(仅应用了 strip_tags,而它无法移除事件处理程序),并且在输出时也未进行编码,从而导致存储型 XSS。

    • 输入处理(src/PropertyAssign.php): 仅应用 strip_tags() 后即保存属性值,这允许 等事件处理程序属性存在。

PoC

此概念验证(PoC)演示了拥有特定中等级别权限的用户如何向主管理员的个人资料中注入存储型 XSS 载荷。

前提条件:

  • 攻击者拥有一个启用了以下两项特定权限的账户:
    1. 编辑记录
    2. 管理属性和分类

场景:

  1. 以攻击者身份登录: 使用拥有上述权限的用户登录。
图片
  1. 锁定管理员为目标: 直接导航至管理员的个人资料页面,通常为 PersonID=1。
    root@kitploit:~
    http://localhost:8101/PersonView.php?PersonID=1
    
    (由于 PersonView.php 中的 IDOR,访问被允许)。
图片
  1. 注入载荷:
    • 在管理员的个人资料页面上,向下滚动到已分配属性选项卡。
    • 在“分配新属性”表单中,选择基于文本的属性,例如(“Test”)。(由于“编辑记录”权限,该表单可见)。
    • 在出现的值文本域中,输入以下 XSS 载荷:
      root@kitploit:~
    • 单击“分配”按钮。载荷现在已存储到管理员的记录中。(由于 PropertyAssign.php 中的失效的访问控制,此分配操作是可能的)。
图片 图片
  1. 触发攻击:
    • 攻击者现在可以等待管理员登录并查看其自己的个人资料。
    • 当管理员导航至其个人资料页面(PersonView.php?PersonID=1)时,载荷将立即执行,并出现一个警告框。攻击者可以使用更高级的载荷来窃取管理员的会话 Cookie。
图片 图片

影响

这是一个严重的权限提升漏洞。它允许拥有特定提升(但非管理员)权限的用户完全控制管理员的账户。通过劫持管理员的会话,攻击者可以执行管理员可用的任何操作,包括创建新的管理员账户、删除数据,并有可能将此漏洞与其他漏洞链式利用,以实现对服务器的完全攻陷。

归属

报告者:Łukasz Rybak

参考资料

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-fcw7-mmfh-7vjm

免责声明

该 CVE 是遵循协调漏洞披露规范进行负责任披露的。此处提供的信息仅供教育和防御目的使用。

下载工具
onerror
  • 易受攻击的输出位置(src/PersonView.php): 直接将存储的属性值渲染到 HTML 中,而未使用 htmlspecialchars(),从而导致载荷执行。
    root@kitploit:~
    // src/PersonView.php, line ~722
    <td><?= $r2p_Value ?></td> // Vulnerable: Raw output