水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > MSIE はファイルの内容を解析する

MSIE はファイルの内容を解析する

2006年3月27日(月曜日)

MSIE はファイルの内容を解析する

今日の腕試し! Webブラウザはコンテンツの種類をどう見分けている? (itpro.nikkeibp.co.jp)

(1)Webブラウザが受信ファイルの内容を解析して見分けている

(2)HTTPレスポンスの「Content-Type」ヘッダーに指定された情報に基づき見分けている

(3)HTTPリクエストの「Cookie」ヘッダーに指定された推定しづらい長さの文字列に基づき見分けている

仕様的には(2)が正解であるべきなのですが、それだけで済めば苦労はないですね。XP SP2 の IE6 からは、セキュリティの設定で「拡張子ではなく、内容によってファィルを開くこと」を無効にできるようになりましたが、デフォルトでは有効ですからファイルの内容解析が優先されてしまいます。

このあたりをちゃんと理解していないと、「image/jpegなのにXSS」という悲劇が起きたりしますので危険です。過去に実際にあったケースしては、

というものがありました。image/jpeg なんだから大丈夫だろうと思っていても、デフォルト設定の IE のユーザは見事に喰らってしまうわけです。

ちなみに問題回答後の解説によると、

(1)の方法は理論的に可能ですが,現実的ではありません。なぜなら,いちいち受信ファイルの内容を解析していては処理に時間がかかります。それに,新しいファイル形式に対応するたびにWebブラウザをバージョンアップしなければならないので,拡張性に欠けてしまいます。

ということで、MSIE は現実を超越しているようです。mod_mime_magic の立場もなかなか微妙ですね。

関連する話題: Web / セキュリティ / ITpro / Internet Explorer

最近の日記

関わった本など