トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

IE Content-Type無視



目次



記事一覧

キーワード

IE Content-Type無視

[IE]

http://www.atmarkit.co.jp/fcoding/articles/webapp/02/webapp02a.html

 概要

  • IEは“text/plain”と指定されたContent-Typeヘッダに従わず、コンテンツ内に含まれる内容から「HTML」であると判断して、そこに含まれるスクリプトを実行する場合がある
  • 攻撃者によるクロスサイトスクリプティング(XSS)攻撃が可能となってしまう。
  • IEがContent-Typeだけでなく、ファイルタイプを決定するためにコンテンツの内容をスキャンする動作は「Content sniffing」と呼ばれる

 対応

IE

  • 「拡張子ではなく、内容によってファイルを開くこと」を「無効にする」に設定する

サーバ側

  • レスポンスヘッダに X-Content-Type-Options: nosniff を追加する(IE8向け)

 ファイルタイプをどのように判断するか

  • IEがコンテンツの処理方法を決定するための要因としては、少なくとも以下の3種類

  1. サーバのレスポンスヘッダで指定されたContent-Type
  2. コンテンツ自身の中身(Content sniffing)
  3. URL

"これら3種類の情報と、レジストリ(HKCR\Mime\Database\Content Type)に登録されている情報によってファイルタイプを決定していると考えられる"""


  • レジストリ(HKCR\Mime\Database\Content Type)には、IEが扱うことのできるContent-Typeの一覧が格納されている。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.