現在地 HOME > 掲示板 > IT6 > 321.html ★阿修羅♪ |
|
Tweet |
(回答先: セキュアなWeb構築の秘訣〜クロスサイトスクリプティングは思わぬ個所に巣食っている(2)〜多面的な特徴を持つ【IT_Pr 投稿者 クエスチョン 日時 2004 年 9 月 22 日 19:35:20)
セキュアなWeb構築の秘訣〜クロスサイトスクリプティングは思わぬ個所に巣食っている(3)〜クロスサイトの意味【IT_Pro記事】
http://itpro.nikkeibp.co.jp/members/NBY/Security/20040809/148385/
佐名木 智貴
日経ネットワークセキュリティ「自己防衛マニュアル」(2003年8月発行),156ページより
この連載のほかの回を読む
(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)
クロスサイトの意味
まず,CERT/CCの警告に書かれた(本来の意味での)クロスサイト・スクリプティングが,どういうものかを理解する必要があるだろう。
この警告の中では,不正なHTMLタグ挿入問題の一部として「クロスサイト・スクリプティング」問題を取り上げた(写真2)。CERT/CCの警告に書かれていたクロスサイト・スクリプティング問題の大まかな内容は,図1[拡大表示]のようなものである。
図1のように,不正侵入者が罠のサイトに悪意のあるスクリプト・コードとリンク先のURLを仕込む。リンク先のURLは信頼できそうなWebサイトにする。ユーザーは,このリンクを安易にクリックする。すると,ユーザーのマシン上のWebブラウザが,悪意のスクリプトを含んだ要求をリンク先のWebサーバーに送る。要求を受け取ったWebサーバーは,該当するページがないため,ユーザーに対して動的に生成したエラーページを送る。
この際,Webサーバーにクロスサイト・スクリプティングぜい弱性があれば,動的に生成したエラーページに悪意あるスクリプトが含まれたままユーザーに渡ってしまう。結果,悪意あるスクリプトがユーザーのマシン上で動く。
このように,罠のサイトから脆弱なサイトを経由して,つまりWeb サイトを横断(クロスサイト)して,スクリプト・コードを送り込む方法を紹介したのが,CERT/CCの警告であった。ここから「クロスサイト」の名称が付けられた。
ただ,図2[拡大表示]のように不正侵入者がクロスサイト・スクリプティングの脆弱性を抱えたWebサイトに,悪意のあるスクリプト・コードを書き込み,ユーザーがこれをアクセスすることで被害に遭う問題も,現在ではクロスサイト・スクリプティング問題の一つだと考えられている。つまり,「クロスサイト」でなくても,クロスサイト・スクリプティング問題と見なされているのだ。
図1と図2のどちらの場合であっても,Webサイトとは全く関係のない第三者(不正侵入者)が,送信元をそのWebサイトとする形で,ユーザー(Webサイトの閲覧者)に悪意のあるスクリプト・コードを送り込んでいる。いずれも,悪意のあるスクリプト・コードを実行させるという点で違いはない。悪意のあるスクリプト・コードが第三者の送り込んだものであったとしても,犠牲となるWebブラウザから見れば,Webサイトから送られてきたと見えてしまう。これにより,WebサイトとWebブラウザ間でやり取りしているCookieなどのWebブラウザが保持している情報にアクセスされてしまう。クライアント側スクリプトの代表はJavaScriptで,Cookie情報にアクセスすることはJavaScriptプログラミングの中の基本的な事項である。
現時点では,WebサイトからWebブラウザに送られる応答メッセージ(HTTPレスポンス・メッセージ)中に,Webサイトとは関係のない第三者が記述したスクリプト・コードが含まれる危険性が,「スクリプト埋め込み」に関するクロスサイト・スクリプティング問題の本質である。