漏洞总结:Stored XSS in UserEditor.php via Login Name Field 漏洞概述 ChurchCRM 存在一个存储型跨站脚本(XSS)漏洞。当管理员保存包含 HTML 属性注入载荷的用户名(Login Name)时,该值会被存储到数据库中,并在后续渲染到 页面的输入框 属性中,且未进行 HTML 编码。任何访问该页面的管理员浏览器都会执行恶意脚本。 根因代码 (UserEditor.php line 405): 影响范围 受影响版本: 修复版本: CVSS 评分: 4.8 / 10 (Moderate) 攻击向量: 网络 攻击复杂度: 低 所需权限: 高 (管理员) 用户交互: 必需 影响范围: 机密性 (低), 完整性 (低), 可用性 (无) 修复方案 在 版本中已修复。 现在使用 对表单输入值属性中的用户名进行渲染。 概念验证 (POC) 1. 以管理员身份登录。 2. 导航到 Admin -> Users 并点击任意用户的 Edit。 3. 将 Login Name 字段设置为: 4. 点击 Save。 5. 导航回 。 6. 确认对话框会立即在页面加载时弹出(autofocus 事件),确认脚本在管理员上下文中执行。