問題說明

缺少輸入驗證和輸出編碼而允許插入 JavaScript,導致反映跨網站指令碼 (XSS)。


反映跨網站指令碼可用來將任意 JavaScript 插入 Microsoft System Center 2016「已驗證的」頁面。 還可以攔截下列 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 上的資訊安全指引諮詢

安全性分類

反映跨網站指令碼,內容詐騙

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×