¿Por qué "pasar el cursor sobre" un enlace en un correo electrónico se considera seguro? ¿O es perjudicial?

27

Estamos utilizando un cliente de correo electrónico basado en navegador y el contenido del correo electrónico está en HTML.

Uno de mis empleadores nos dijo que si recibimos un correo electrónico sospechoso con enlaces, tenemos que desplazarnos sobre el enlace (para verificar que no esté falsificado) antes de hacer clic en él. Al pasar el ratón sobre, se activa una acción para mostrar el enlace subyacente en la barra de estado de los navegadores. Sin embargo, ¿alguien podría falsear esta acción e intentar hacer algo gracioso?

Este es un hilo similar, pero analiza las miniaturas de los archivos adjuntos y no los enlaces en el correo electrónico.

    
pregunta JOW 03.03.2017 - 15:59
fuente

2 respuestas

52
  

Uno de mis empleadores nos dijo que si recibimos un correo electrónico sospechoso con enlaces, tenemos que desplazarnos sobre el enlace (para verificar que no esté falsificado) antes de hacer clic en él.

Cuando pasa el mouse por encima de un enlace, el valor del atributo href se muestra en la barra de estado. Dado que este es el objetivo del enlace, puede darle una idea de a dónde va el enlace.

  

¿Alguien podría simular esta acción e intentar hacer algo gracioso?

En general, sí. El objetivo del enlace real se puede "falsificar" utilizando Javascript: es bastante común que los sitios web intercambien el valor href con otro enlace tan pronto como el usuario haga clic en él. Por ejemplo, puede observar esto cuando visita los resultados de búsqueda de Google. Cuando pase el mouse sobre uno de los enlaces, se mostrará como https://security.stackexchange.com/... , pero tan pronto como lo haga clic , se capturará ese evento y visitará un sitio intermedio primero ( https://www.google.com/url?... ) que lo redireccionará. al objetivo real.

Pero cualquier cliente de correo bien diseñado (basado en la web) no ejecutará ningún JS en correos electrónicos HTML. El contenido del script activo en los correos electrónicos es peligroso, no solo porque puede dar lugar a una falla XSS en el cliente de correo, sino también porque puede usarse para ejecutar ataques basados en JS en el navegador o simplemente informar al remitente que ha abierto el correo.

Por lo tanto, si su cliente de correo no permite JS en los correos electrónicos, cosa que probablemente hace, entonces el enlace que se muestra con el mouseover es el objetivo correcto para el enlace. Pero debe estar consciente de otros intentos de engañarlo, como ataques de homógrafos o un URL demasiado larga que oculta el dominio de destino real. No es tan fácil analizar una URL en la barra de estado como lo es verla en la barra de direcciones. En un ataque más avanzado, el atacante también podría haber comprometido un sitio legítimo de antemano (por ejemplo, a través de una falla persistente de XSS) y no podrá decir por el enlace que el sitio ahora en realidad alberga contenido peligroso.

    
respondido por el Arminius 03.03.2017 - 16:15
fuente
11

Esto solo se puede lograr con JavaScript. Puede establecer el enlace a cualquier cosa y luego escribir una acción onclick que envíe al usuario a otro lugar:

<a href="http://example.com" onclick="window.location = 'http://www.google.com';return false;">click</a>

Pero si permites que JavaScript sea ejecutado por tu cliente de correo electrónico basado en navegador, eres vulnerable a XSS persistente, lo que significa que tienes problemas más grandes.

Además, decirle a los usuarios que hagan [algo inconveniente] casi nunca funcionará como un mecanismo de seguridad. Una mejor solución sería eliminar todas las etiquetas a y sustituir el enlace real en su lugar.

    
respondido por el tim 03.03.2017 - 16:04
fuente

Lea otras preguntas en las etiquetas