Vulnerabilities and other stuff
in misc :: #coding, #stuffI recently read an interresting post about the target="_blank"
vulnerability. This vulnerability leaves a user open to a very simple phishing attack and is quite unknown. When a link uses the target="_blank"
attribute not accompanied with the rel="noopener"
attribute or in the case of Firefox rel="noopener noreferrer"
the opening site gives the new site access to the existing window through the window.opener
API, allowing a few permissions. Some of these permissions are automatically negated by cross-domain restrictions, but window.location
is fair game.
To see this vulnerability in action you can use this link. It'll open the post in a new tab/window and redirect this window to an other page.
The code below shows the necessary code for the window.opener
API to redirect the opening site to a new location.
if ( window.opener ) {
window.opener.location = "https://jnphilipp.org/pages/page/gone-phishing/?referrer=" + document.referrer;
}
Because of that post, I removed all target="_blank"
attributes from the links. I had also a few other changes that had pilled up and which I hadn't gotten around to put online. Most are on the back end side. On front end side I changed manly the color of the sidebar.