使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

问题描述

缺少输入验证和输出编码将会允许 JavaScript 注入,从而导致反射跨站点脚本 (XSS)。


反射跨站点脚本可用于向 Microsoft System Center 2016 身份验证页面注入任意 JavaScript。 可以拦截以下 GET 请求并修改 SpaceID,以便在 Web 控制台的左侧导航窗格中注入任意字符串。


GET/OperationsManager/InternalPages/NavigationTree.aspx?SpaceId=1002&ViewId=Favorites_Overview HTTP/1.1


下面是任意字符串的示例:

abc%3E%3C","00000000-0000-0000-0000-000000000000");alert(1);//%3E


恶意 JavaScript 一旦注入,就可以修改页面的当前行为并传递:特洛伊木马程序、强制恶意重定向、内容欺骗、键盘记录器、内容泄漏、VIEWSTATE 和验证器令牌泄漏(击败反 CSRF 控件)等。

攻击由以下步骤构成

  1. 攻击者使用 XSS 有效负载生成 System Center 的特定已验证 GET 请求,并诱使受害者访问特定 URL 或诱使用户访问触发特定请求的仿冒欺诈。

  2. 经过身份验证的受害者加载/重新加载主页。


注意: 攻击适用于任何 viewID 值以及具有 SpaceID 查询字符串参数的每个请求。


测试用例

预期结果: 无效的 SpaceID 错误或空窗格,并且没有执行随机 JavaScript

结果: 执行任意 JavaScript。

解决方案

实施严格的输入验证。 只接受整数作为 SpaceID,因此针对输入的数据类型检查足以修复该漏洞。


已添加检查以确保 SpaceID 仅为支持的值(1001 和 1002),否则该树中的数据为空。

参考

请参阅 CVE-2020-1331 中的安全指南公告

安全分类

反射跨站点脚本,内容欺骗

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×