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種類
- サーバのレスポンスヘッダで指定されたContent-Type
- コンテンツ自身の中身(Content sniffing)
- URL
"これら3種類の情報と、レジストリ(HKCR\Mime\Database\Content Type)に登録されている情報によってファイルタイプを決定していると考えられる"""
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.