漏洞总结:HummerRisk 存储型跨站脚本 (XSS) 漏洞概述 漏洞名称:HummerRisk 存储型跨站脚本 (Stored XSS) 漏洞编号:HummerRisk #1 受影响版本:1.5.0 漏洞类型:存储型 XSS (CWE-79) 触发点:服务器创建接口 ( ) 的 参数。 根本原因:后端未对 进行格式验证或转义,前端展示时未进行 HTML 实体编码,导致恶意脚本被持久化存储并在管理员查看服务器列表时执行。 影响范围 机密性 (Confidentiality):高。攻击者可窃取管理员会话令牌、Cookie 及敏感数据。 完整性 (Integrity):高。攻击者可冒充管理员修改服务器配置、删除资源或篡改扫描结果。 可用性 (Availability):中。可利用账户进行拒绝服务攻击。 CVSS v3.7 评分:7.5 (HIGH) 攻击向量:网络 (N),低复杂度 (L),无需特权 (L),无需用户交互 (R)。 修复方案 1. 前端 (Immediate):使用 DOMPurify 库对用户可控内容进行清洗,并在 Vue.js 组件中正确转义输出。 2. 后端 (Short-term):实施严格的 SSH 公钥格式验证(正则匹配、长度限制、拒绝危险字符)。 3. 配置 (Configuration):添加安全响应头(CSP, X-Content-Type-Options, X-Frame-Options)。 概念验证代码 (PoC) 1. 恶意载荷注入 (Reproduction Steps) 2. 会话劫持 (Session Hijacking) 3. 修复代码示例 (Remediation Recommendations) 前端:安装依赖 前端:更新 Vue.js 组件 后端:Java 验证逻辑** ```java private void validatePublicKey(String publicKey) { if (publicKey == null throw new IllegalArgumentException("Public key cannot be null or empty"); } // Allow only valid SSH key formats String sshKeyPattern = "^(ssh-rsa