×
サイバー攻撃について

Polyglot XSS


Polyglot XSSは、複数のコンテキストで解釈できるように作られた攻撃文字列です。

対象となるコンテキストの例は次のとおりです。

  • HTML本文

  • HTML属性

  • JavaScript文字列

  • URL

  • SVG

  • コメント

  • テンプレート

Polyglotは独立した脆弱性の原因ではありません。

複数のフィルターや解析環境へ対応するための入力設計手法です。


JavaScriptやDOM構造を悪用する攻撃

DOM Clobbering


DOM Clobberingは、HTML要素のidnameが、windowdocumentのプロパティとして参照される仕組みを悪用します。

const target = window.redirectTo || "/profile/";
location.assign(target);

攻撃者がredirectToという名前のHTML要素を挿入できると、JavaScriptが想定していた変数をHTML要素で覆い隠す可能性があります。

OWASPはDOM Clobberingを、HTMLだけを利用するコード再利用型の注入攻撃として説明しています。スクリプトタグを直接注入できなくても、変数やブラウザーAPIを上書きし、XSSへ到達する場合があります。

対策