|
|
脆弱性を利用した攻撃手法(6) --- クロスサイト・スクリプティング(後編)
今回は,クロスサイト・スクリプティングの後編です。最初に「クロスサイト・スクリプティング前編」で確認した事項を簡単に復習しておきましょう。
前回の前提部分をまだ読んでいない方は,『脆弱性を利用した攻撃手法(2) --- Webアプリケーションを突く攻撃』と,『脆弱性を利用した攻撃手法(5)--クロスサイト・スクリプティング(前編)』に目を通しておいてください。 買い物サイトのCookieを他サイトに送るCookieは,基本的に発行したサイトしか利用できない,と勉強しました。例えば,今回の実験環境(前編参照)ですと,ユーザーPCが保持している「買い物サイト(192.168.1.12)」のCookieは,「買い物サイト(192.168.1.12)」しか利用できません。他サイトが,ユーザーPCが保持している買い物サイトのCookieに,直接アクセスすることはできないのです。 しかし,発行元(買い物サイト)から指示を受けた場合は,他サイトにCookie情報を送ってしまいます。試してみましょう。 悪意の情報収集サイト(192.168.1.17:以下悪意サイト)を準備します。このサイトは,送られてきた情報を受け取るように出来ています。 ユーザーは買い物サイトにアクセスして,ご注文内容の欄に図1のように記入し,購入ボタンを押します。ご注文内容欄の中身は,「192.168.1.17(悪意サイト)にCookieを書き込むスクリプトを実行」という内容です。
すると,この情報が買い物サイトに送られます(図2(1))。買い物サイト上で動作しているWebアプリケーションには脆弱性があり,<や>などの制御文字を変換せずに,そのまま送り返します(2)。ユーザーのWebブラウザは,これを制御文字と認識してスクリプトを実行します(3)。
本来の使い方だと,買い物サイト(192.168.1.12)で利用しているCookieを,他のサイト(192.168.1.17)に送信することはありませんが,今回のケースではCookieの発行元である買い物サイト(192.168.1.12)とのやり取りの中で指示された形になっています。このため,ブラウザは今利用している買い物サイトのCookieを192.168.1.17へ送信してしまいます(4)。 悪意サイトが情報を収集した様子が図3です。前編で確認した,ユーザーPCが利用している買い物サイトのCookieの中身が表示されています。
>>クロスサイト・スクリプティングの流れ
連載新着連載目次へ >>
|
読みましたか? 〜 未読記事をご紹介 |