Browserでハードディスクを
壊そう!
Ver 1.0 1997/02/15 Copyright by Osamasa
目次
今回のテーマは、そのものずばりBrowserでハードディスクを壊す方法とその
対策について説明していきます。
今回、対象となるブラウザーは「Netscape Ver2.x」です。(たぶん)著者のIE
でテストしたところ、HDをクラッシュすることは有りませんでした。ただし
「不良セクター」は出来ていました。(いえーい)
簡単に概要を説明していきましょう、どの手法を取りましても処理の流れはだ
いたい一緒です。
重要なのは、この後のあなたの行動です。もし「リセットを押す」とか「プロセスを切る」と考えたあなた!それは大きな間違いです。
理由は簡単です。ハードディスクに書き込んでいる間にハードディスクを止め
ると、ハードディスクは壊れやすいからです。
では一体何を書き込んでいるのでしょうか?それはスワップファイルです。ス
ワップファイルとは通常のメモリー量では足らないくらい大きな処理を、HDにそ
のメモリーの一部を待避させる時に出来るファイルのことを言います。
ここでもっとも不幸な事態はフリーズしてしまい。ハードディスクが処理中に止まってしまうときです。著者は体験
したことがありませんが、ないとは言い切れないので注意してください。
それでは実際にあるその手口とその対策について説明します。ただしこれらの
ネタは既にネットワーク上で公開されている古い内容なので、最新のバージョン
のネットスケープを使えば何てことないことかもしれません。
注意 : 著者は臆病者なのでIEのVer3.01でしかテストしていません。すみま
せん。
簡単に説明
これは、イメージソースタグにて以下のように書くと起こります。
<img = "ほげほげ.gif" width = "100%">
「うん?普通じゃん。」とか「解った!"ほげほげ.gif"がいけないんだ」と思っ
たあなた!そんな訳はないでしょ!("ほげほげ"は適当なファイル名と言う意味で
す。)
ここで重要なのは大きさ指定命令で「width」しか指定してないことです。な
ぜかHTML3.0では「height」だけもしくは「width」だけしか指定しないと指定し
ない方向(この場合縦方向?)にぐんぐんイメージが伸びていってしまうそうです。
ただしNetscape Ver1.0以下ですと。何も表示されないそうです。
現象
まずそのようなイメージがあるページに行くと、突然ハードディスクがからか
ら鳴り出します。
そしてスクロールバーが突然伸びていきます。そして「ストップキー」を押し
ても「ウィンドウクローズドボタン」を押しても「止まることなく続きます。」
しばらくこの状態が続きます。
対応策
あやしいと思ったらすぐ「ストップボタン」を押します。それでもすぐ制御が
戻らない場合は、しょうがないのでしばらくほっといた方がいいでしょう。決し
てリセットボタンを押したり無理に終わらせようとして色々動かさない方が良い
でしょう。
簡単に説明
プログラムをやっとことある人間ならピンとくるかもしれませんが、「再帰
処理」って聞いたこと有りますか?この再帰処理とは「自分で自分の事を呼ぶ関数」のことで、普通は終了処理条件を書くのですが、それを書かないと永久に自
分の事を呼び続け、メモリーも莫大に食ってしまう処理なのです。(注意:永久
ループと比べてもこっちの方がメモリーを食うはずです。)
var aaa="aaa"
function foo (void){
aaa=aaa+aaa;
foo();
}
上のはあくまでもサンプルですが、通常ですとこれに「window.setTimeout」
を組み合わせたり、マウスが動く度にこの関数のスレッドを呼ばせるように「onMouseOver
」から呼ばれるようにしたり工夫します。(難しく説明補記:シングルスレッド
だとすぐ「ストップボタン」等で止まってしまうため、マルチスレッド化にする
ことにより、同時にしかも大量に処理を動かすのがミソです。)
現象
だいたい「不正タグ」の時と一緒で「ハードディスク」がカラカラ鳴り出し
、マウスの動きが鈍くなり、なかなか(というより永遠に)終わりません。
対応策
あやしいところに行くときは「JavaScript」をOFFにして出かけましょう。
ここにあります!
http://hplyot.obspm.fr/~dl/netscapesec/
すみません。恐くて、ためしていません。
この手の「攻撃的手法」はまだまだ色々あります。なるべく「あやしい」と
思われる所には近寄らない方がよいでしょう。
あとなるべく「最新バージョン」のブラウザーに変えることが効果的な対応
策かもしれません。
参考サイト
javascriptのオンラインマニュアル | ......... | JavaScrpitの研究をするときはここ |
Netscapeのリリースノート | ......... | バグリポートがあります。 |
目次に戻る | トップページに戻る |