Chromeをハングさせる詐欺サイト
ネットをうろついていてうっかり「あなたのPC、ウィルスに観戦してますよ! サポートに電話してください」という詐欺広告を踏んでしまった。ご丁寧にブラウザをハングさせてヤバい雰囲気を出す手まで使っている。これを踏むとブラウザを強制終了するしかなくなってしまうので、なかなか尻尾がつかめないのだが、DevToolを開いた状態で自分から詐欺サイトを踏みに行き、速攻でポーズすることで中を見ることができた。
こんなコードが書いてあった:
var total = ""; for( var i = 0; i < 100000; i++) { total = total + i.toString(); history.pushState(0,0 total ); }
お情けか上限があるのだが、200回も回ればChromeは反応がなくなって、PCのファンがブンブン回り出す。たったこれだけでこうも操作不能に陥るとは。
一応この問題は認識されているらしく、pushStateの行に対してコンソールに "Throttling navigation to prevent the browser from hanging. See https://crbug.com/882238."とメッセージが出ている (リンクされているページ見に行ってもPermission deniedとはどういうことだ)。しかし、throttlingの効果はないに等しい。
ちなみにこの詐欺サイトは複数のIPアドレスのURLで動作しており、時間が経つと消えてしまう。防御がやりにくい。逆引きしたらaf-ys-ben-us-uk-money-4.35
などという名前が返ってきた。まったくサイテーである。