Hatena::ブログ(Diary)

nak2kのメモ帳 RSSフィード

2007-03-03

[]ITMediaにとんでもなく危険なLifeHackが載ってる件

しかも、「mshta [任意のURL]」と入力すれば、WebページをHTA(HTMLアプリケーション)として開くことも可能だ。

3分LifeHacking:「ファイル名を指定して実行」の便利な使い方(その1) - ITmedia エンタープライズ

このTips、HTMLアプリケーションとしてWebページを実行した場合はIEのセキュリティゾーンがローカルコンピュータの状態で実行されるから、表示したWebページでは「どんなスクリプトでも」動かせてかなり危険。

以下のようなスクリプト(MicrosoftのJScriptについてのヘルプに載ってるサンプル)を含んだHTMLを上記の方法で表示してみたよ。

<script>
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();
</script>

普通にIEで表示したら、ActiveXObjectコントロールの作成のところできちんとエラーになったけど、上記の方法だと当然エラーにならなくて(HTMLアプリケーションとしては当然)、見事にファイル作成に成功。

ちょっとコードかえれば、HDD内のファイル全削除やレジストリ書き換えも普通に出来るからかなり危険。

分かってて信頼しているサイトのみ見るならまだしも(それにしたってかなり恐いけど)、件の記事にはそこらへんの注意事項も載ってないから安易に実行する人がでそうで恐い。


上記の記事には注意事項の追記を要望します。

追記

「セキュリティゾーンがローカルコンピュータの状態で実行される」は間違いかも。

HTA の 信頼関係ステータスは、セキュリティ ゾーン オプションに従うすべての操作にまで拡張されます。要するに、ゾーンセキュリティはオフということです。したがって、HTAは、クライアント マシン上のゾーン セキュリティ設定とは関わりなく組み込みの ActiveX® コントロールや Java アプレットを実行できます。こういったオブジェクトがダウンロードされ、HTA 内で実行されるときには、その前に警告メッセージはいっさい表示されません。

日本マイクロソフト - Official Home Page

ローカルコンピュータのセキュリティゾーンは、今は表示はされないけど生きてるのかな?

だとすると(レジストリの設定などで)ローカルコンピュータゾーンでの実行を安全にすることもできるのだろうけど……、上記の説明ではそれ以前にセキュリティゾーンによるセキュリティが一切ありませんよ、と。

つまり、より危険であるということですな^^;

yushimizuyushimizu 2007/03/08 18:20 突然のコメント失礼いたします。
アライドアーキテクツ株式会社の清水と申します。
この度、ある企業様が弊社サービスであるエディタエンタープライズを使用して
エンジニア様の情報を集めたクチコミサイトをオープンさせていただくことになりました。
そこで、是非ともお力添えを頂きたくコメントさせて頂きました。

このサイトの仕組みは、皆様のブログの記事の中から
エンジニア様が関心をお持ちの事項(プログラミング等、まだ決定しておりません)
に関する記事のみをキーワードに則って
サイトに収集し、クチコミサイトを作るというものでございます。
ブログを読ませていただきまして、ぜひともご協力いただきたく
思いまして、コメントという形でご連絡させていただきました。

このサイト用に記事を書いていただいたりといったことはございませんので、
特にお手間を頂戴する訳では御座いませんが、ご投稿されている記事を収集してサイト上で使用する許可を頂ければ幸いでございます。
記事が収集されると元記事へのリンクが貼られますので、サイトからの訪問者の増加が期待できますので、サイトのアクセスアップに活用いただければ
幸いでございます。また詳しい説明は以下のページからご確認頂ければと思います。また、ご検討いただきまして同ページから
ご登録いただければ幸いでございます。何卒宜しく願い申し上げます。

【説明・登録ページ】
http://www.edita.jp/admin/blogger_regist.php?id=1031&c=0

【お問い合わせ】
support3@edita.jp

急なコメント失礼いたしました。
ご連絡が重なってしまいましたら申し訳ございません。

FomalhautFomalhaut 2007/03/09 14:52 ローカルコンピュータのセキュリティーゾーンはいまでも存在します。
XP ではマイコンピュータというゾーン名で、
これはデフォルトでは表示されません。

表示させるにはレジストリを操作します。( 現在のユーザのみの場合は HKEY_CURRENT_USER, コンピュータのデフォルトにするときは HKEY_LOCAL_MACHINE にしてください )
HKEY_CURRENT_USER¥Software¥Microsoft¥Windows ¥CurrentVersion¥Internet Settings¥Zones¥0
にある Flags に 0x47 ( 16進数の 47 ) を書き込んで再起動します。インターネットオプションのセキュリティタブにマイコンピュータが表示されていると思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証