漏洞关键信息 漏洞类型: Stored Cross-Site Scripting (XSS) 产品: Student Record Management System 厂商: PHPGurukul 受影响版本: 1.0 受影响端点: /edit-course.php 受影响字段: Course Short Name CWE: CWE-79 - Improper Neutralization of Input During Web Page Generation (Cross-site Scripting) CVSS v3.1 向量: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N 严重性: High (CVSS 基础分数: 8.0) 再现步骤: 1. 登录到管理员门户。 2. 导航到: 3. 在 Course Short Name 字段中,插入以下 Payload: 4. 保存课程。 5. 导航到: 6. 点击编辑刚刚创建的课程。 7. JavaScript Payload 执行,确认了 Stored XSS。 概念验证 Payload: POC 视频可见于此: 影响: - 在已认证的管理员会话中执行任意 JavaScript。 - 通过Cookie盗窃进行会话劫持。 - 以管理员身份进行未授权操作。 - 影响所有查看已修改记录的用户,造成持久性影响。 根本原因: 不恰当的输入验证和在渲染存储数据之前缺少输出编码。 修复办法: - 实现严格的服务器端输入验证和清理。 - 使用上下文相关的编码对所有用户提供的输出进行编码(例如,PHP 中的 htmlspecialchars())。 - 实现强有力的 Content Security Policy (CSP)。 - 在会话Cookie上启用HttpOnly和Secure标志。 - 进行安全代码审查,以确保所有模块的输出编码连贯性。 - 在部署前应用集中输入过滤机制和安全测试。