IE上で保存したHTMLには2行目に↓が入りますが、これが入って居るとローカルにあるHTMLでも何故かHTMLがあった元のゾーンで実行されます。
まず、この挙動についてですが、調べてみたところ
注 : "saved from URL" というコメントをローカルの HTML ファイルに追加することで、マイ コンピュータ上の HTML コンテンツに別のゾーンの設定を適用することができます。たとえば、ローカルの HTML ファイルに "saved from URL" コメントを追加すると、その HTML ファイルはマイ コンピュータ ゾーンではなく、インターネット ゾーンのファイルとして扱われます。インターネット ゾーンでスクリプト、署名済み ActiveX コントロールおよび Java アプレットの実行を許可している場合、コメントを追加したローカルの HTML ファイルは、これらの制限付きのセキュリティ特権で実行されます。Internet Explorer で Test.htm という名前のローカルの HTML ファイルに対してインターネット ゾーンの設定を使用するには、Test.htm ファイルに以下のコメントを追加します。このコメントは、<HTML> タグの上に、独立した行として追加します。
<!-- saved from url=(0023)http://www.contoso.com/ -->
(0023) の値は、その後の URL の文字数です。また、Contoso は、インターネット Web サイトの名前です。Internet Explorer で Test.htm ファイルが開かれると、"saved from URL" コメントが検出され、その Web ページに適用するセキュリティ ポリシーの判定に記載されている URL に適したゾーンの設定が使用されます。
で、次にどれぐらいの影響力があるかというと、まず
<!-- saved from url=(0020)http://hoge.foo.bar/ -->っていうふうな実在しないドメインを書いてもインターネットゾーンとなります。
次に
<!-- saved from url=(0017)http://localhost/ -->としてみると、なんとイントラネットゾーンとして実行されました(^^;
もしやと思ってさっきのhoge.foo.barを信頼済みサイトとして登録してから試して見ましたが、こちらはさすがに大丈夫なようで普通にインターネットゾーンで実行されました。
よって信頼済みサイトが登録されていてもそれが穴になることはこの件では無さそうです。
次にcookieが盗めるかテスト
<!-- saved from url=(0052)http://www.sumnet.ne.jp/domp/jsbs/sample/cookie1.htm -->を追加して実行。
クッキーが盗めてしまったらユーザー名を聞かれないで先ほど入れたものが表示されるはずですが、新たにユーザー名を聞かれたのでクッキーの漏洩も無いようです。
というわけで、どうもこれによって出来るのは通常マイコンピューターゾーンで動くところをインターネットゾーン、もしくはイントラネットゾーンにて動作させるということだけのようです。
次にイントラネットゾーンはどういう基準で判断されているのかと思い極端な例として
<!-- saved from url=(0008)http://a -->なんて言うのを試してみたらなんと、これもイントラネットゾーンで実行されるじゃないですか(苦笑)
どうも、逆引きはおろか正当性チェックすらせずurlに「 . 」が含まれて居なければイントラネットゾーンとして設定されるようです。
でも、いくらインターネットゾーンとイントラネットゾーンしか設定できないとはいえ、WindowsXP SP2以降ではマイコンピューターゾーンのロックダウンによってほとんどの表示ができないようにされている以上、それよりも緩いセキュリティが簡単に適応できてしまうのは問題なのではないのでしょうか?
とりあえず、イントラネットゾーンは安心だからとゆるゆるの設定にしていると痛い目に遭うことになりそうなので、常に最低限のもの以外は無効になるように設定しておいた方が良さそうです。
Posted by Takuchan at 2004年09月19日 00:03 | トラックバック(0)