Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 347

DOM ベース XSS

DOM ベース XSS とは何ですか?

DOM ベース XSSクライアントサイドの JavaScript が信頼できないデータをサニタイズせずに DOM シンクへ書き込むことで、注入と実行がすべてブラウザ内で完結する XSS。


DOM ベース XSS(Type-0)は、原因がすべてクライアントサイドのコードに存在するクロスサイトスクリプティングです。location.hash、document.referrer、window.name、postMessage、localStorage などのソースから取得した値を、サニタイズせずに innerHTML、document.write、eval、jQuery.html などの危険な DOM シンクへ渡すことで発生します。ペイロードがサーバを通らないため、従来の WAF やサーバログでは検知が困難です。対策として、textContent などの安全な API、モダンブラウザの Trusted Types、厳格な CSP、ソースからシンクへの汚染データフローを解析する静的解析ツールが推奨されます。

  1. 01

    document.getElementById('out').innerHTML = location.hash.substring(1);

  2. 02

    SPA ルータが window.location からの値をサニタイズせずテンプレートに描画する。

よくある質問

DOM ベース XSS とは何ですか?

クライアントサイドの JavaScript が信頼できないデータをサニタイズせずに DOM シンクへ書き込むことで、注入と実行がすべてブラウザ内で完結する XSS。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。

DOM ベース XSS とはどういう意味ですか?

クライアントサイドの JavaScript が信頼できないデータをサニタイズせずに DOM シンクへ書き込むことで、注入と実行がすべてブラウザ内で完結する XSS。

DOM ベース XSS はどのように機能しますか?

DOM ベース XSS(Type-0)は、原因がすべてクライアントサイドのコードに存在するクロスサイトスクリプティングです。location.hash、document.referrer、window.name、postMessage、localStorage などのソースから取得した値を、サニタイズせずに innerHTML、document.write、eval、jQuery.html などの危険な DOM シンクへ渡すことで発生します。ペイロードがサーバを通らないため、従来の WAF やサーバログでは検知が困難です。対策として、textContent などの安全な API、モダンブラウザの Trusted Types、厳格な CSP、ソースからシンクへの汚染データフローを解析する静的解析ツールが推奨されます。

DOM ベース XSS からどのように防御しますか?

DOM ベース XSS に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

DOM ベース XSS の別名は何ですか?

一般的な別名: Type-0 XSS, クライアントサイド XSS。

関連用語

関連項目