@joe tiene razón acerca de la naturaleza del ataque (+1), pero hay algo más que eso. A saber, de quién es el problema y por qué ocurre.
Usando el mismo ejemplo, digamos que example.com
usa un script de redireccionamiento, por ejemplo, example.com/redirect.php
que recibe el parámetro url
y luego realiza un HTTP 302 (o 301) a la URL que se encuentra en la URL. Parámetro url
. Ahora, digamos también que example.com
contiene contenido generado por el usuario , incluida la URL a la que se vinculan los usuarios.
Cuando un usuario publica una URL en example.com
, por ejemplo, http://mywebsite.com/myarticle/
, entonces example.com
muestra esta URL como:
href="http://example.com/redirect.php?url=http://mywesite.com/myarticle"
Pero, ¿por qué example.com
muestra la URL de esa manera en lugar de la URL simple? Debido a que redirect.php
recopila estadísticas sobre los enlaces en los que hacen clic los usuarios.
Entonces, ¿cuál es el problema? El problema es que puedo agregar una URL en otro sitio web que también aloja contenido de usuario , sin relación alguna con example.com
, por ejemplo, en facebook.com
que dice:
http://example.com/redirect.php?url=http://myphishingwebsite.com/script.php
Y el usuario hará clic en eso pensando que es un enlace que conduce a example.com
.
Los navegadores a menudo acortan las URL largas pero dejan el dominio completo, y algunos foros incluso hacen que un dominio se destaque de un enlace; todo eso para evitar el phishing a través de enlaces a sitios dudosos. Pero en el ejemplo anterior, example.com
ha destruido estas salvaguardas y permitirá que cualquier sitio web sea redirigido, mientras que el dominio que se ve cuando se desplaza sobre el enlace siempre es example.com
.
Solución
Lo anterior es un problema de example.com
y, por lo tanto, este doiman debe clasificarse como no seguro para navegar, incluso porque no contiene ningún contenido malicioso.
En lugar de usar un redireccionamiento sin marcar, example.com
debería hacer una lista blanca de dominios en los que se puede usar redirect.php
, o hacer que los dominios en el parámetro url
se destaquen (por ejemplo, anteponer el dominio en un color de alto contraste ) antes del enlace en sí y requiere un encabezado Referer:
adecuado durante la redirección (por lo tanto, las redirecciones solo pueden ocurrir desde el mismo example.com
). Preferiblemente, debería realizar ambas correcciones.