DOM ベースのクロスサイトスクリプティング (XSS)

medium Web App Scanning プラグイン ID 98109

概要

DOM ベースのクロスサイトスクリプティング (XSS)

説明

クライアント側のスクリプトは、最新の Web アプリケーションで広く使用されています。テキストのフォーマットなどの単純な機能から、クライアント側のデータの完全な操作やオペレーティングシステムの相互作用までを実行します。

クライアントがスクリプトをリクエストに挿入し、サーバーにスクリプトをクライアントに返させることができる従来のクロスサイトスクリプティング (XSS) とは異なり、DOM XSS ではリクエストをサーバーに送信する必要はなく、ロードされたページ内で完全に悪用される可能性があります。

これは、(ソースとして知られる) DOM の要素が、信頼できないデータを含むように操作され、クライアント側のスクリプト (シンクとして知られる) が安全でない方法で使用または実行できる場合に発生します。

スキャナーは、HTML 要素をページの DOM 入力 (ソース) に挿入することで、HTML 要素をシンクによってページの一部としてレンダリングできることを検出しました。

ソリューション

信頼できないデータを使用するクライアント側のドキュメントの書き換え、リダイレクト、その他の機密性の高い操作は、サーバー側のフィルタリングで検査されない可能性があるため、可能な限り回避する必要があります。
これらの機密ドキュメントアクションを使用する必要がある DOM XSS 脆弱性を修正するには、以下が必須です。
1. 信頼できないデータがページ内のコードまたはマークアップとして解釈されるのではなく、テキストとして扱われるようにします。2. ページ内で使用される前に、信頼できないデータをエスケープします。回避方法は、信頼できないデータが使用されている場所によって異なります。(詳細については参考文献を参照してください。) 3.「document.write」、「document.writeIn」、「element.innerHTML」、「element.outerHTML」などの HTML レンダリングメソッドではなく、「document.createElement」、「element.setAttribute」、「element.appendChild」などを使用して動的インターフェイスを構築します。

参考資料

http://projects.webappsec.org/w/page/13246920/Cross%20Site%20Scripting

https://www.owasp.org/index.php/DOM_Based_XSS

https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet

プラグインの詳細

深刻度: Medium

ID: 98109

タイプ: remote

ファミリー: Cross Site Scripting

公開日: 2017/3/31

更新日: 2023/8/29

スキャン テンプレート: pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 4.2

CVSS v2

リスクファクター: Medium

基本値: 5.8

ベクトル: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:N

CVSS スコアのソース: Tenable

CVSS v3

リスクファクター: Medium

基本値: 6.1

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

CVSS スコアのソース: Tenable

参照情報