問題の説明

入力検証と出力エンコードが欠落しているため、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 が挿入されると、ページの現在の動作が変更されて、トロイの木馬、悪意のある強制リダイレクト、コンテンツのなりすまし、キーロガー、コンテンツの漏えい、ビュー ステートと検証コントロールのトークンの漏えい (CSRF 攻撃の防止の阻止) などが配信される可能性があります。

攻撃は次の手順で構成されています

  1. 攻撃者は、XSS ペイロードを使用して System Center の特定の認証済み GET 要求を作成し、被害者をだまして特別な URL にアクセスさせるか、ユーザーをだまして特定の要求をトリガーするフィッシング詐欺にアクセスさせます。

  2. 認証済みの被害者が、ホームページをロード/再読み込みします。

注: この攻撃は、任意の viewID 値と、SpaceID クエリ文字列パラメーターを持つすべての要求に適用されます。

テスト ケース

期待される結果: 無効な SpaceID エラーまたは空のペインで、ランダムな JavaScript の実行なし

結果: 任意の JavaScript が実行されました。

解決策

厳密な入力検証を実装します。 整数のみが SpaceID として受け入れられるため、入力に対するデータ型チェックで十分に脆弱性を修復できます。

SpaceID がサポートされている値 (1001 と 1002) のみであることを確認するためのチェックを追加しました。それ以外の場合、ツリー内のデータは空です。

関連情報

CVE-2020-1331の セキュリティ ガイダンス アドバイザリを参照してください。

セキュリティ分類

反射型クロス サイト スクリプティング、コンテンツのなりすまし

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。