The Annoying Site: Source
theannoyingsite.com
theannoyingsite.com
I can't perfectly describe what happens but I'll try — the page jumps around with a cat image, every time I try to kill it with cmd+w, it repawns into another small window. I think it remaps cmd+w to cmd+p, and just plays dubstep in the background. Oh, and at some point, a random cat headbanging cat appears, and the voices goes from saying "a-a-a-a-a-a-a-a-a" to "I can't see the inside of my mouth".
I think it also logged me out of gmail.
I had to kill Chrome. Don't open it in your main browser, use incognito mode, or the private browsing mode of a different browser so that you can kill the entire browser without losing HN access — because that's what you'll probably end up doing.
Edit: Oh, it seems to be easier to kill on Firefox. Also, it keeps asking for webcam and mic access, and to be set as the default application for bitcoin links?!!!
Edit: A way to get out without killing Chrome is: "press cmd+w" to get to the "print" screen. That seems to stop the windows from moving around. Then kill all the other windows first, and kill this "print" window last. You'll it say "please don't go" every time — but don't give in!
Edit: here's a talk by the author: https://www.youtube.com/watch?v=6pY9Bfwfj2A
Of course, it did log me out of everything.
I guess my disabling of javascript by default to avoid annoyances, improve performance and save battery rendered the annoying part useless.
Sometimes I wish mozilla had chosen to make firefox more like opera (the real opera, not the chrome based one) and not like chrome with the quick disable/enable script setting instead of removing the possibility to disable javascript altogether. Actually I wish opera was still around to not have to deal with mozilla nonsense by resorting to using a different build (waterfox) to mitigate most of it.
I hate the dumbing-down of browser configuration (and UIs in general) too, but given the actual people who make the decisions on what browsers do, it's not surprising --- turning the userbase into obedient ad-clicking dummies (and preventing them from learning about e.g. the world of disabled JS) is the best way to monetise them, after all.
Didn't knew it was post possible to `js` fire a post on a third party website.
I'd love to know why YouTube needs to allow logout from other origins.
Hats off to the guy, though - that was well trolled. :) And well worth it for these 2 gems alone:
It was courteous of tosh to submit the source. For those who dare, the link is https://theannoyingsite.com.
(For... suitably small values of SFW?)
/**
* Sites that link to theannoyingsite.com may specify `target='_blank'` to open the
* link in a new window. For example, Messenger.com from Facebook does this.
* However, that means that `window.opener` will be set, which allows us to redirect
* that window. YES, WE CAN REDIRECT THE SITE THAT LINKED TO US.
* Learn more here: https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/
*/
function attemptToTakeoverReferrerWindow () {
if (isParentWindow && window.opener && !isParentSameOrigin()) {
window.opener.location = `${window.location.origin}/?child=true`
}
}
I checked in Chromium 70 and this only seems to work on the same origin - attempting to access `window.opener` cross-origin results in Uncaught DOMException: Blocked a frame with origin "https://example.com" from accessing a cross-origin frame
The article linked in the code [0] and the MDN page for window.opener [1] mention the use of `rel="noopener"` to prevent `window.opener` from being set, but that it's not supported in all browsers - particularly Firefox, which needs `noreferrer`. I am sure CORS headers also play a role in protecting from this. OWASP
calls this technique 'reverse tabnabbing' [2].There's a demo [3] of the effect - you can manually inspect the first link and change the href to [4] and then click the link to test how cross origin requests work.
[0] https://www.jitbit.com/alexblog/256-targetblank---the-most-u...
[1] https://developer.mozilla.org/en-US/docs/Web/API/Window/open...
[2] https://www.owasp.org/index.php/Reverse_Tabnabbing
[3] https://rawgit.com/waltertamboer/experiment-html-js-window-o...
[4] https://gitcdn.link/cdn/waltertamboer/experiment-html-js-win...
Some great links present there.
https://feross.org/webcam-spy/
https://feross.org/html5-fullscreen-api-attack/
https://developer.mozilla.org/en-US/docs/Web/API/Window/open
And it's entirely what ad-blockers should be out to block. So, yes, good thing that it's blocked.
It seems to be overreaching here as this is definitely not an ad.