検索
連載

[柔軟すぎる]IEのCSS解釈で起こるXSS教科書に載らないWebアプリケーションセキュリティ(3)(1/3 ページ)

XSSにCSRFにSQLインジェクションにディレクトリトラバーサル……Webアプリケーションのプログラマが知っておくべき脆弱性はいっぱいあります。そこで本連載では、そのようなメジャーなもの“以外”も掘り下げていきます (編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

なぜか奥深いIEのXSSの話

 皆さんこんにちは、はせがわようすけです。

 第1回「[これはひどい]IEの引用符の解釈」と第2回「[無視できない]IEのContent-Type無視」でInternet Explorer(IE)の独自の機能がクロスサイトスクリプティング(XSS:cross-site scripting)を引き起こす可能性があるということについて説明してきました。

 第3回でも引き続き、IE特有の機能がXSSを引き起こす例ということで、“スタイルシートを利用したクロスサイトスクリプティング”という攻撃方法を紹介しましょう。

スタイルシートを利用したXSSとは

 IEにおいてスタイルシート内にJavaScriptを含める方法はいくつかありますが、最も柔軟性が高いのは、「expression(JavaScript文)」という表記方法でしょう。IEではスタイルシート内にこのような記述を含めることで、スタイルの評価時にJavaScriptを実行させることができます。

 例えば、以下のように記述すれば、スタイルシートの評価のたびにJavaScriptが実行され、背景色を午前中は赤色に、午後は青色にすることができます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この例のように、自由にJavaScriptを記述することができるので、例えばWebメールなどのように、ユーザーからスタイルシートの入力を許容しているようなWebアプリケーションは、攻撃者に目を付けられることになります。

 仮に、攻撃者が以下のようなスタイルを指定したHTMLメールを被害者のWebメールアカウントあてに送ったとします。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 被害者がこのようなメールをWebブラウザ上で開くと、セッション情報を格納しているCookieの値が、攻撃者の用意したサーバに送られてしまうことになります。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る