« On Error Resume Nextの正しい使い方 | トップページ | 「信頼済みサイトゾーン」の設定は危険です! »

2006年12月 9日 (土)

「拡張子ではなく、内容によってファイルを開くこと」は『クロスサイトスクリプティングを許すこと』と同じ。

[参考URL] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3312

と言っても、どういうふうに危険なのか、分りました?

例えば、
「これは、MVP紹介ページの写真です。」
というリンクがあって、これをクリックすると、画像ファイルが読み込まれます。
この場合は、問題ありませんが、
一般には、こういう安全そうなURLをクリックすることが危険なのです。

このような場合に、セキュリティレベル「中」以下の設定では、
画像ファイルをその中身でHTMLと判断することがあり、
その場合は、スクリプトがそのセキュリティゾーンで動きます。こわー。

もし、そのサイトが信頼済みサイトに登録されていれば、信頼済みサイトゾーンで動きます。

信頼済みサイトゾーンのデフォルトのセキュリティレベルは「低」なので、
もし、デフォルトで使っていれば、スクリプトは自由自在、何でも出来ます。オー、こわー。

この例では、画像として表示されるので問題ありませんが、
この画像ファイルを保存してメモ帳で開いて見ると、中にHTMLが入っています。
拡張子をHTMLに変えると、動きます。

この画像ファイルの場合は、IEによってHTMLと判定されることはありませんが、
一般に、画像ファイルに、HTMLを組み込んで、IEによってHTMLと判定されるようにできます。
その場合も、画像ファイルとしては正しいので、サイト側でチェックするのは、困難です。
世間的に見ると、正しい画像ファイルをHTMLと判定するIEの側に「障害」があるのですが、
MSは昔から一貫してこれを「仕様」と主張しているので、修正は全く望めません。
なので、現状、ユーザの自己防衛以外に、身を守る手立てはありません。

« On Error Resume Nextの正しい使い方 | トップページ | 「信頼済みサイトゾーン」の設定は危険です! »