PR

 サイバー攻撃の中には、Webサイトに存在する脆弱性を悪用するものもある。クロスサイトスクリプティングの脆弱性を悪用する攻撃を実験で確かめてみよう。

 そうした攻撃が可能になる典型的な例は、ユーザーが送ったパラメーターの値をそのまま表示するようなWebサイトだ(図4-1)。GETリクエストの場合には、URLの末尾に「?」を付与し、その後に「パラメーター=値」と記述することで、パラメーターが送られる。

図4-1●受け取ったパラメーターをそのまま表示するのは危険
図4-1●受け取ったパラメーターをそのまま表示するのは危険
クロスサイトスクリプティング脆弱性の最も単純な例は、受け取ったパラメーターの値をそのまま表示するWebサイトだ。攻撃者がパラメーターにJavaScriptのコードを埋め込んだURLを用意すると、そのURLにアクセスしたときにコードがWebブラウザー上で実行されてしまう。
[画像のクリックで拡大表示]

 攻撃者は、パラメーターの中にJavaScriptのコードを埋め込んだURLを用意する。ユーザーがこのURLにアクセスすると、そのJavaScriptコードがWebブラウザー上で実行されてしまう。攻撃者がURLを埋め込んだリンクを書き込むWebサイトと脆弱性を悪用されるWebサイトは別なので、「クロスサイト」と呼ばれる。

▼URL
Uniform Resource Locatorの略。
▼実行されてしまう
これを防ぐため、HTMLとして解釈されないようにエスケープ処理を施すのが一般的だ。