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

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

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

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

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

この先は有料会員の登録が必要です。「日経NETWORK」定期購読者もログインしてお読みいただけます。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら