关键信息 漏洞类型 Stored XSS 严重性 中等 (6.1/10) 影响版本 <1.8.180 修复版本 1.8.180 描述 产品: FreeScout 版本: v1.8.173 和 1.8.174 CWE-ID: CWE-79: 不正确的输入中和在网页生成期间(跨站脚本) CVSS v4.0: 6.1 (AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N) 描述: 应用程序由于不正确的输入验证和用户数据的清理,容易受到存储型XSS攻击。攻击者可以注入任意HTML代码,包括JavaScript脚本,进入由用户浏览器处理的页面,允许他们窃取敏感数据、劫持用户会话或进行其他恶意活动。 实施场景 /app-settings/general 实施选项 POST settings[company_name] 利用条件 授权用户 漏洞代码段 文件:/app/Policies/ConversationPolicy.php 行 109-111 缓解措施 输入验证和清理:所有用于生成浏览器处理的网页的用户提供的数据,包括HTTP请求头(例如,User-Agent, Referer),必须经过初步转换以防止潜在的安全漏洞。这种转换应该替换可能危险的字符,这些字符可用于HTML格式化及其安全等效物。可以使用 函数来实现这一目的。 防止XSS攻击的综合方法,包括代码和服务器配置更改,以及技术安全措施: - 利用提供自动输入验证和过滤以防止XSS攻击的框架; - 在Web应用程序代码中,在HTML页面输出(body、属性、JavaScript、CSS或URL)的上下文中避免在HTTP请求中使用不受信任的数据; - 避免在应用程序代码中使用可能易受攻击的DOM对象,这些对象可能被攻击者利用; - 启用内容安全策略(CSP); - 配置带有secure和httpOnly标志的会话cookie; - 返回具有正确MIME类型或使用Content-Disposition: attachment和Content-Type: application/octet-stream强制下载的文件。 研究人员 Artem Deikov, Ilya Tsaturov, Danill Satyaev, Roman Cheremykh, Artem Danilov, Stanislav Gleyim (Positive Technologies) 研究 研究人员在FreeScout中发现了零日漏洞“Stored XSS”。该漏洞是由于在 和 中缺乏输入验证和清理造成的,允许用户输入在没有适当过滤的情况下执行。