为什么XSS依然重要:MSRC对25年老威胁的视角
跨站脚本攻击(XSS)作为已知漏洞类别已存在二十年,却仍在现代应用中不断出现,包括使用最新框架和云原生架构构建的应用。在微软,我们持续收到来自各服务的XSS报告,从传统门户网站到新部署的单页应用。尽管浏览器安全、内容安全策略(CSP)和默认安全库有所进步,XSS仍然是具有实际后果的持续威胁载体。
这就是我们分享本系列的原因:探讨XSS为何仍然重要,微软如何应对检测和缓解,以及我们从实际事件中学到的经验。无论您是审查漏洞赏金提交的安全工程师,还是构建默认安全组件的开发人员,理解XSS不断演变的性质对防御现代Web生态系统都至关重要。
微软安全响应中心(MSRC)团队处理过绕过传统缓解措施、利用微妙DOM行为并与其他漏洞链式结合产生影响的XSS案例。其中一些案例获得了赏金奖励,并推动了内部工具改进或策略变更。虽然首篇博文着重于问题界定,后续博文将分享可操作的实践经验和最佳实践。
实际案例洞察:MSRC XSS报告揭示的内容
尽管是最古老的Web漏洞之一,跨站脚本攻击(XSS)继续主导微软的安全案例格局。截至2025年中,自2024年1月以来MSRC已缓解超过970起XSS案例。这些案例涵盖广泛范围,从低影响的自跨站脚本到具有严重严重性的零点击存储型XSS。
XSS数据统计(2024年7月-2025年7月)
- 15%的重要或严重MSRC案例是XSS
- 265起XSS案例中,263起被评为重要严重性,2起被评为严重严重性
- XSS赏金支付总额达912,300美元
- 最高单笔赏金为20,000美元,针对令牌窃取或零点击攻击等高影响案例
微软生态系统中的模式
跨站脚本(XSS)漏洞在我们赏金计划注册的广泛微软服务中均有报告,包括Microsoft Copilot赏金计划、Microsoft 365赏金计划、Microsoft Dynamics 365和Power Platform赏金计划、Microsoft Identity赏金计划、Microsoft Azure赏金计划和Xbox赏金计划。
报告由内部和外部安全研究人员提交,通常突出显示清理逻辑绕过、基于DOM的漏洞和现代Web框架中的边缘情况行为。
这些模式强化了主动验证、安全设计原则和与安全研究社区持续互动以加强微软生态系统保护的重要性。
什么使XSS具有影响力?
并非所有XSS漏洞对客户构成相同风险级别。在微软,我们优先考虑直接影响客户安全的基于案例的因素,如可利用性、数据敏感性、所需用户交互和实际影响。我们评估背后的指导原则很简单:在最重要处降低客户风险。
无论是可能泄露敏感数据的零点击利用,还是高流量服务中清理逻辑的绕过,我们的重点都是识别和缓解最有可能影响客户信任和安全的漏洞。为支持安全研究社区,我们分享MSRC如何评估XSS严重性并区分严重和较低严重性问题。
MSRC如何分类XSS严重性
为优先保护客户,MSRC使用结合数据分类和利用条件的矩阵评估XSS漏洞以确定严重性。这种方法有助于确保最有影响的问题获得最高优先级。
| 数据分类 | 严重性 | 示例 |
|---|---|---|
| 高度机密 | 严重 | 零点击XSS泄露会话令牌或敏感cookie |
| 机密 | 重要 | 需要用户交互但仍暴露会话令牌的XSS |
| 一般/公共 | 中等/低 | 公共页面上无敏感数据暴露或需要自跨站脚本的XSS |
影响严重性的其他因素包括用户交互、攻击者先决条件和环境条件。
例如,在login.microsoftonline.com上识别的漏洞可能因域名敏感性最初被评为严重。但如果成功利用需要多次用户交互或依赖攻击者控制的重定向,严重性可能更准确地评估为重要。这反映了微软的情境风险评估方法,其中可利用性和实际影响是确定严重性的关键因素。
服务标准:符合条件与超出范围的内容
范围内:
- 在具有会话令牌或cookie访问权限的微软域中执行的存储或反射型XSS
- 绕过CSP并在特权上下文中执行的基于DOM的XSS
- 影响认证用户的零点击或单点击有效负载
范围外:
PDF上下文中的JavaScript执行(PDF中的XSS) PDF文件中的JavaScript执行通常不符合微软的服务标准。虽然PDF可能支持有限脚本(如表单字段验证),但其执行上下文比HTML文档受限得多,且缺乏基于域的权限。要符合服务资格,报告必须证明从PDF受限环境明显逃逸到更广泛或更特权的执行上下文。
自跨站脚本 利用需要受害者手动将有效负载粘贴到浏览器开发者控制台的场景不符合微软的服务标准。这些案例依赖于故意用户操作,超出了可利用、可服务漏洞的范围。
仅在非标准浏览器或扩展中执行的XSS 仅在非标准或不支持环境(如过时浏览器或Internet Explorer等传统平台)中执行的跨站脚本(XSS)漏洞不符合微软的服务标准。这些场景超出支持配置范围,不代表现代实际使用模式。要符合服务资格,漏洞必须证明在当前支持的浏览器环境中的影响。
XSS提交清单
可重现性
- 提供清晰、分步重现说明
- 包含可靠、最小化的概念验证(PoC)
- 跨多个浏览器测试(如Edge、Chrome)
- 确保有效负载在没有开发工具或控制台访问的情况下工作
可利用性
- 零次或一次用户交互触发
- 在微软拥有的域上执行
- 绕过CSP或其他缓解措施
- 影响认证用户或敏感工作流
影响
- 导致令牌窃取、会话劫持或数据外泄
- 暴露机密或高度机密数据
- 以可扩展/持久方式存储或反射
文档
- 包含截图或视频演示
- 解释被跨越的安全边界
- 清楚说明预期与实际行为
下一步:深入探讨XSS有效负载链式利用
在即将发布的博客系列中,我们将更深入地研究链式利用XSS有效负载的技术机制。我们将探索混合攻击和DOM操作等高级技术,然后将重点转向帮助缓解这些威胁的深度防御策略。
您可以期待以下实用指导:
- 实施强大的输入验证
- 应用情境感知输出编码
- 强制执行内容安全策略(CSP)
- 利用自动转义用户输入的现代框架
在我们准备深入这些主题时,我们鼓励您通过此Microsoft Learn资源探索跨站脚本(XSS)的基础知识:XSS注入黑客指南。
作者
Carlston Mills,安全保证工程,MSRC
Sonal Shrivastava,安全研究员,MSRC
Kul Subedi,高级安全研究员,MSRC
致谢
特别感谢Michael Hendrickx、Bruce Robinson和Jarek Stanley对本博客的贡献。