Live data from Hacker News

The Deathray: A simple way for an untrusted site to freeze a Mac

auberon.xyz

71–80 of 198 posts

Re: The Deathray: A simple way for an untrusted site to freeze a Mac

#73

Back in the 90s when the web was non-commercial and fun, I added a "Don't Click Me" link that loaded a 'browser test' page (after a series of "are you really really sure?" dialogs) that exploited every historical browser bug I could find. Infinite popups, inescapable dialogs, ActiveX quirks, various hangs and crashes, the works. If it didn't crash your computer, it eventually displayed a single popup that said "Congr…

I remember when `alert` would lock up the entire browser UI. So if you put it on an infinite loop, that was it. You had to kill the browser process to shut it off.

Re: The Deathray: A simple way for an untrusted site to freeze a Mac

#76
post #71

Is there a reason you need the fake for loop and the vertex shader? Can a single infinitely looping shader not do the same thing? And what happens in WebGL?

Historically, for loops in shaders were limited in the number of iterations they could run for. Among other things this ensures that rasterizing a particular pixel completes in a known amount of time (and ideally that amount of time is fast enough to avoid triggering TDR on windows and making the machine bluescreen). You could of course nest loops so it's not a perfect measure. I'm not certain whether that limitation applies to WebGPU, but it should apply to WebGL.

Re: The Deathray: A simple way for an untrusted site to freeze a Mac

#77
post #71

Is there a reason you need the fake for loop and the vertex shader? Can a single infinitely looping shader not do the same thing? And what happens in WebGL?

In my testing, a looping compute shader was enough to crash the tab on its own, but it needed waiting render shaders to crash the WindowServer.

Interestingly though there was another way to make only the tab crash, even if I had all three shaders in the pipeline: If I placed the canvas far offscreen using position: absolute, only the tab would crash even if the render shaders were waiting! There's some weird interactions going on I don't yet fully understand.

Re: The Deathray: A simple way for an untrusted site to freeze a Mac

#79

Back in the 90s when the web was non-commercial and fun, I added a "Don't Click Me" link that loaded a 'browser test' page (after a series of "are you really really sure?" dialogs) that exploited every historical browser bug I could find. Infinite popups, inescapable dialogs, ActiveX quirks, various hangs and crashes, the works. If it didn't crash your computer, it eventually displayed a single popup that said "Congr…

there was a common "shock site" called "last measure" that did this. it loaded all sorts of offensive images, blasted a loop of a guy yelling something offensive about pornography, and then proceded to lock up your machine.

Re: The Deathray: A simple way for an untrusted site to freeze a Mac

#80

Back in the 90s when the web was non-commercial and fun, I added a "Don't Click Me" link that loaded a 'browser test' page (after a series of "are you really really sure?" dialogs) that exploited every historical browser bug I could find. Infinite popups, inescapable dialogs, ActiveX quirks, various hangs and crashes, the works. If it didn't crash your computer, it eventually displayed a single popup that said "Congr…

there was a common "shock site" called "last measure" that did this. it loaded all sorts of offensive images, blasted a loop of a guy yelling something offensive about pornography, and then proceded to lock up your machine.

Oh man I had forgotten about last measure. I remember multiple times scrambling for the power button.
Post reply on HN