たまに以下のようにJavaScriptの文字列リテラルに値が入るアプリを見ることがあります。 <script> var foo="●"; ... </script> 値は「●」の箇所にHTMLエスケープされて出力されます(下の方の例も同じ)。 こんなケースでどうXSSするか?という話です。 簡単にXSSできるケース 以下のパターンだとXSSするのは簡単です。 <script> var foo="●"; var bar="●"; ... </script> ?foo=\&bar=-alert(123)//のような値を与えるだけです。 難しいケース 次はこんなパターンを考えます。 <script> var foo="●"; var bar="●"; ... </script> こうなると難易度はぐっと上がります。というよりも、ほとんどの場合はXSSできません。 しかし、状況次第ではXSSできる