La vulnerabilidad target=»_blank» y la solución rel=»noopener noreferrer» de WordPress

Desde la versión 4.7.4, WordPress incorpora la nueva versión del editor TinyMCE incluido, que soluciona la conocida como vulnerabilidad target=»_blank», y lo hace añadiendo automáticamente a este tipo de enlaces la relación rel=»noopener noreferrer» ¿te habías dado cuenta?

Cuando surgió el debate en el artículo sobre las novedades de WordPress 4.7 y luego posteriormente lo abrió Miguel en los foros de soporte me puse a investigar un poco así que vamos a poner algo de luz en este asunto.

¿Qué es la vulnerabilidad target=»_blank»?

Esta vulnerabilidad, también conocida como reverse tabnabbing, un tipo de ataque de phishing en el que el atacante reemplaza la pestaña legítima, y fiable, por un documento malicioso usando el selector window.opener.location.assign() cuando se accede mediante un enlace de apertura en nueva ventana/pestaña, o sea del tipo target=»_blank».

Lo que hace el atacante es, usando el selector window.opener.location, llevar al usuario a alguna página falsa, que simula ser la original, o ejecuta algún JavaScript en la página de apertura en la que confía el usuario.

Explicado de manera sencilla, con el reverse tabnabbing, cuando haces clic en una web para abrir una página nueva, y se abre en una nueva pestaña, si luego vuelves a la web original, sin que tú te des cuenta se cambia automáticamente esa página falsa que simula ser la buena.

Parece la página web original que estabas viendo pero tiene una url distinta (que se puede ver claramente). El problema es que la mayoría de los usuarios no se dan cuenta de que la URL ha cambiado, ya que no se suelen fijar casi nunca, menos si piensan que están en una web en la que confían, por ejemplo esta.

Luego, por ejemplo, la página web falsa les pedirá que accedan de nuevo a su cuenta, y claro, pero ya no estás donde te creías que provienes sino en una copia de la pestaña original en la que hay otro documento, en este caso malicioso. Si introduces tus datos ya te has entregado a los hackers y harán lo que sea con tus credenciales.

En esta página tienes un ejemplo (no malicioso) del reverse tabnabbing por si quieres probarlo en tus carnes sin peligro.

¿Qué hace la relación rel=»noopener noreferrer»?

El modo de evitar la vulnerabilidad target=»_blank»reverse tabnabbing es añadir a tus enlaces que abren en nueva ventana/pestaña la relación de enlace rel=»noopener», y como el navegador Firefox no reconoce esta relación sumarle la relación noreferrer, a fin de cuentas, añadiendo esto: rel=»noopener noreferrer».

De este modo, para evitar la vulnerabilidad, tu enlace externo debería ser algo así:

De este modo se elimina la posibilidad de aplicar la citada vulnerabilidad. Sencillo ¿no? Lo malo es si tienes que ir añadiendo esto a cada enlace externo uno a uno, pero usamos WordPress ¿verdad?

¿Afecta al SEO añadir noopener noreferrer?

Una pregunta que ha surgido en los foros y aquí mismo en los comentarios es si esto afectará en algo, por ejemplo, a los enlaces que tenga el atributo nofollow pues los modifica añadiéndoles los atributos noopener noreferrer.

Me refiero a que si tenías un enlace de este tipo en una entrada …

Si la actualizas pasará a ser así:

Y la misma duda ha surgido en general, si añadir estas relaciones de enlace afecta en algo al SEO.

Pues no, según han respondido desde Google a preguntas de webmasters es un simple enlace, no añade ni quita ni afecta el posicionamiento a los enlaces, tengan nofollow o no, a los que se añada el noopener noreferrer.

¿Cómo soluciona esta vulnerabilidad WordPress?

Como comenté al principio del artículo, WordPress, en la versión 4.7.4, incorporó la actualización del editor incluido TinyMCE que soluciona esta vulnerabilidad añadiendo automáticamente la relación rel=»noopener noreferrer» a todos los enlaces con target=»_blank», tanto a los nuevos contenidos como a los existentes si los abres para editarlos, una solución bastante efectiva.

Eso sí, que quede claro que WordPress/TinyMCE solo añade la relación noopener noreferrer en los enlaces que tú decidas que abran en ventana/pestaña nueva, o sea, en los que hagas esto:

¿Y si no quiero que WordPress me proteja de la vulnerabilidad reverse tabnabbing o como se llame?

Si prefieres vivir peligrosamente puedes desactivar esta funcionalidad del editor TinyMCE de WordPress añadiendo el siguiente código a tu plugin de utilidades o al archivo functions.php del tema hijo activo, pero NO LO HAGAS:

Entonces ¿qué hago?

Nada, en serio. El hecho de que se añada la relación rel=»noopener noreferrer» a los enlaces que abren en ventana/pestaña nueva es una funcionalidad de seguridad que te protege a ti y tus visitantes de una vulnerabilidad grave, de robo de información, y el hecho de que WordPress/TinyMCE nos protejan de esto es bueno.

Más información:
Si te gusta este contenido prueba tambien a suscribirte al canal en YouTube.

AVISO: esta publicación es de hace dos años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

VALORA ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
FlojitoNo está malEstá bienMe ha servidoFantástico (40 votos, promedio: 4,75 de 5)
Cargando…

Al dejar una valoración se recopila la IP para evitar fraudes

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Mi último libro es WordPress - La guía completa. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera. Sigue a @fernandot en Twitter

Comparte esta entrada en
468 ad

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas, si ya estás suscrito a nuestra newsletter, para reconocer el estado de tu sesión si la tuvieses y para servir más rápidos los contenidos.

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

JSESSIONID, _cfuid, wpSGCachePypass, mailerlite, gdpr, gawp
mailerlite, _cfuid

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID, disqus_unique, disqusauth
disqus_unique, disqusauth
1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID

Pin It on Pinterest

Share This
Ir al contenido