Mejorando la Seguridad de los Enlaces (Nueva Ventana) en un Sitio Web

3 minuto(s)

Los enlaces son elementos muy comunes en un Sitio Web, permiten al usuario navegar por las diferentes páginas del mismo, algunos sitios web usan los enlaces para dirigir al usuario a un determinado objetivo, como una compra o realizar una determinada acción, para que estos enlaces den los resultados esperados es importante darle Seguridad, en este Post te compartiré unos Tips que te ayudarán a mejorar la Seguridad de tu Sitio Web.

Cada Sitio Web tiene diferentes objetivos las páginas embudo suelen dirigir al usuario a un lugar especifico por medio de muchos enlaces, también los enlaces se suelen usar para llevar al usuario a un formulario de suscripción y muchas otras formas de darle un uso determinado.

Enlaces en nueva Ventana con atributo rel

Si una Página Web contiene uno o varios enlaces que se abren en una Ventana nueva, en la mayoría de casos debe tener el atributo target=”_blank”


Cuando un enlace usa el atributo target=”_blank” la página de destino que esta vinculada a la página principal obtiene acceso a la propiedad window.opener que permite redirigir un enlace en la página principal a cualquier elemento que se desee.

Un usuario con malas intenciones puede utilizar aprovechar de esta función y crear un ataque malicioso contra un usuario usando el Lenguaje de Programación Javascript. Por ejemplo el usuario al hacer clic en un enlace podría ser redirigido a una página de Pishing que es una copia falsa de la página esperada y luego solicitar credenciales de inicio de sesión o datos de Bancos.

Para evitar esto se puede hacer uso del atributo rel con el valor noopener y noreferrer


Esto hará que window.opener no establezca la referencia, eliminando la posibilidad de que el enlace redirija al usuario a la página original de destino.

Detalles del Funcionamiento de noopener y noreferrer

Si un enlace tiene los valores noopener y noreferrer dentro del atributo rel pasará que cuando el usuario hace clic en el enlace este se abre en una nueva ventana, el navegador crea un proceso separado en la nueva ventana sin pasar información de la Página de origen a la nueva ventana evitando que el Navegador sea secuestrado a través de JavaScript malicioso.

El valor de window.opener será null (nulo) en la nueva Ventana, como resultado ambas páginas, la de origen y la de destino no pueden llevar algún proceso entre si. El Navegador continuará manteniendo las páginas del mismo Sitio en el mismo proceso y así permitirles compartir cachés, optimizaciones de procesos, entre otras características.

La técnica usada para redirigir al usuario a una Página falsa se llama Tabnabbing Inverso que hace uso de Javascript para sobrescribir una URL de destino, a continuación una idea del código


Una ves que el usuario es redirigido a la ventana insegura, puede perder sus datos de cuentas bancaria, cuentas de correo, servicios en línea, cuentas de videojuegos, etc.

Usando esta técnica no asegura que tus enlaces estén a salvo de un ataque malicioso, para esto debes de usar otras técnicas adicionales a las que menciono en este Post.

Nota(s)

  • Los valores noopener, noreferrer y el atributo rel compartidos en este Artículo pueden ser modificados o Eliminados en un futuro, esto no depende de nosotros si no de las empresas que dan soporte a la World Wide Web (WWW).

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos