Usando un JavaScript para mostrar las contraseñas en un navegador … cualquiera

producto_safari.pngSi creias que las contraseñas en los navegadores estaban seguras, te vas a llevar una decepción. Los famosos asteriscos o bolitas (•••••) que ocultan una contraseña pueden ser fácilmente desvelados introduciendo un código javascript en la barra de direcciones. El problema afecta, por lo que se ve, a todos los navegadores, incluido Safari.

Solo hay que introducir el siguiente código:

javascript:(function(){var s,F,j,f,i; s = ""; F = document.forms; for(j=0; j<F.length; ++j) { f = F[j]; for (i=0; i<f.length; ++i) { if (f[i].type.toLowerCase() == "password") s += f[i].value + " "; } } if (s) alert("Passwords in forms on this page: " + s); else alert("There are no passwords in forms on this page.");})();

Y nos aparecerá un cuadro de diálogo que nos permitirá leer (o robar) esa contraseña.

Perdonen ustedes el comentario, pero vaya seguridad de mierda.

One Comment

  1. BWAIN

    Eso es una tontería muy grande, los campos tipo «password» están pensados para no mostrar lo que se escribe en ellos, para que la gente que esta a tu alrededor no pueda leerlo.

    Esta más que claro que la información que contienen debe poder ser leída por el navegador y si introducimos un código javascript para obtener dicha información realizará su cometido. Por lo que no veo ningún fallo de seguridad.

    Un fallo de seguridad sí que sería el caso en el que un código javascript de un dominio afecte a otro dominio distinto. Por ejemplo, intentar acceder por medio de javascript al campo password de la página de inicio de sesión de GMail… os daréis cuenta que no es posible.

    La única forma sería hackear directamente la web en cuestión para incluir el código javascript en el mismo contexto donde se encuentra el formulario… pero hasta ahí hay un trecho muy grande.

    Punto y aparte.

    Si accedemos a una web donde un campo tipo «password» ya tiene un valor preestablecido (no soy partidario de esta práctica) no hace falta ninguna función javascript para poder ver el valor de dicho campo… simplemente: «Menu contextual > Ver código fuente» y buscas en el campo tipo «password» en cuestión la propiedad «value» y listo.

    Repito. No veo ningún fallo de seguridad y no entiendo como alguien podría aprovechar esto de alguna manera, salvo en el último caso que he explicado donde toda la responsabilidad depende del programador que autorellenó un valor «privado» en un campo «password» pensado que así estaría seguro.

    En resumen, ¿de qué estábamos hablando? ^_^

    Saludos, Ricardo.