关键漏洞信息 漏洞标题 LastRoute Parameter on Login Page Vulnerable to Open Redirect and DOM-based XSS 影响版本 受影响版本: <4.9.12 修复版本: 4.9.12 漏洞描述 登录页面上的 LastRoute 查询参数存在开放重定向和基于 DOM 的跨站脚本(XSS)漏洞。由于验证不当和缺乏对参数的清理,攻击者可以利用受害用户在应用程序中的位置执行恶意 JavaScript 或将他们重定向到攻击者控制的网站。 安全风险 开放重定向:允许攻击者将未认证用户重定向到恶意外部站点。 基于 DOM 的 XSS:导致浏览器中执行恶意 JavaScript。 复现步骤 1. 开放重定向 - 访问 URL: https://cloud.tryfastgpt.ai/login?lastRoute=https://google.com - 登录或与页面交互。 - 观察浏览器重定向到 https://google.com。 2. 基于 DOM 的 XSS - document.domain 示例 - 访问 URL: https://cloud.tryfastgpt.ai/login?lastRoute=javascript:alert(document.domain) - 打开 URL 在浏览器中。 - 观察弹出当前域名的 JavaScript 警告框。 3. 基于 DOM 的 XSS - document.cookie 示例 - 访问 URL: https://cloud.tryfastgpt.ai/login?lastRoute=javascript:alert(document.cookie) - 打开 URL 在浏览器中。 - 观察显示用户 cookie 的弹出窗口,可能包含会话令牌等敏感信息。 建议缓解措施 开放重定向: - 禁止不可接受的路径进行重定向(例如:/dashboard, /settings)。 - 拒绝以 http:// 或 https:// 开头的 lastRoute 参数值。 XSS: - 在渲染到 DOM 之前正确编码或清理 LastRoute 值。 - 使用安全的 JavaScript 实践(例如:textContent 而不是 innerHTML 和内容安全策略 (CSP))。