Applies ToSystem Center 2016 Operations Manager

問題說明

缺少輸入驗證和輸出編碼而允許插入 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?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。