Dado que las personas dependen en gran medida de Internet para sus operaciones, como realizar compras, acceder a cuentas bancarias o administrar programas, la seguridad de las aplicaciones web es cada vez más relevante y es parte de la seguridad como responsabilidad del usuario así como el sitio web, conozcamos Tabnabbing qué es este peligroso problema al abrir un enlace.

Si es posible insertar contenido en páginas obtenidas por otros usuarios al mismo tiempo, el problema de seguridad potencial es un enlace simple, supuestamente inofensivo al abrir una página. El resultado es una vulnerabilidad de tabnabbing y phishing.

Uno de ellos es un enlace externo que se abre en una página en blanco. El problema de seguridad es que el modo de funcionamiento predeterminado de estos enlaces es permitir el acceso a la ventana de origen desde la página abierta. Hace que la página abierta tenga la capacidad de controlar la ventana de origen y modificar su contenido cargando una página maliciosa para llevar a cabo un peligroso ataque de phishing, que puede simular una página legítima diseñada para robar la página.

Página con enlaces a páginas abiertas

El problema es que cuando el navegador abre un enlace de la página en blanco o en una página nueva, el navegador hace que el objeto de la página que lo abrió sea accesible a la ventana abierta y tiene permiso para acceder dicho objeto. La página maliciosa cargada puede cargar una nueva página en la página original o cookies,  el uso de window.location que puede cargar una página de autenticación falsa que requiere que los usuarios dejen datos y así, extraen las contraseñas.

Este es un problema peligroso porque utiliza un navegador basado en pestañas, es una página a la que el usuario no puede acceder y cargará contenido nuevo, y un usuario negligente puede pensar que la pestaña no es válida al regresar. Sin embargo, no es víctima de amenazas de seguridad como tabnabbing y phishing, comprueba si el dominio de la página que muestra el navegador en la barra de direcciones corresponde al contenido, si el ataque es phishing, no basta con utilizar una página de protocolo seguro.

Es un ataque simple con código JavaScript porque permite inserción incontrolada de contenido inseguro, haciendo posible que otros usuarios lo abran y se conviertan en posibles víctimas. En este caso, abra el enlace de la página maliciosa. Abrirá una pestaña, el usuario perderá el foco de la página original y la página abierta cargará una nueva página en ella, lo que resultará en Tabnabbing.

Detecta tabnnabing con páginas en nueva pestaña

La solución más simple es agregar  rel = noopener noreferrer en el enlace abierto en la nueva página que informa al navegador que no conceda acceso a la página abierta a la variable window.opener. El código de muestra page.html si la página lo usa, se producirá un error de JavaScript. La variable window.opener es nula con un enlace seguro.