¿La opción de saltar a espacios en blanco en los campos de contraseña es un riesgo para la seguridad?

51

Al utilizar Ctrl + / , es un comportamiento común en diferentes sistemas operativos el saltar de una palabra a otra (o de un espacio en blanco a otro). en blanco) en los campos de entrada de texto.

Ahora he descubierto que esto también se aplica a los campos de contraseña en Internet Explorer 8 y 11 (todavía no lo he probado en otras versiones): el texto real está enmascarado con viñetas, sin embargo, puedo encontrar espacios en blanco utilizando la combinación de teclado mencionada.

Al menos en Chrome 38, la combinación solo salta entre el principio y el final del texto completo.

  • ¿Por qué no se corrige esto en Internet Explorer?
  • ¿Se puede considerar esto como un riesgo de seguridad? Solo es relevante si la contraseña está almacenada; Supongo que esto abre vectores de ataque más serios utilizando herramientas externas, como leer la contraseña del almacén de contraseñas o usar herramientas de desenmascaramiento. Aún así, haciendo la palabra saltar, es posible obtener una idea rápida de la contraseña utilizando las "características" integradas de Internet Explorer
  • ¿Es posible cambiar la palabra delimitador (un espacio en blanco?) en tiempo de ejecución? Entonces, ¿podría cambiarlo a 'a' y saltar a cada 'a' usando las teclas de flecha?
  • Como se mencionó en los comentarios, también es posible saltar a caracteres especiales como $ , aunque aquí el cursor se detendrá antes y después del carácter. ¿Se documenta el "algoritmo de salto" exacto en alguna parte?
  • ¿Hay otros problemas con el comportamiento descrito de Internet Explorer?
pregunta stuXnet 16.10.2014 - 13:14
fuente

7 respuestas

38

No, eso no es un riesgo de seguridad.

Tener contraseñas almacenadas en un navegador es un riesgo de seguridad. Permitir que un atacante acceda a su computadora cuando haya escrito la contraseña y antes de enviarla es un riesgo de seguridad (e incluso después de haberla enviado, debe preocuparse por el robo de cookies de sesión válidas). Ser capaz de saltar a espacios en blanco / caracteres especiales en una contraseña escrita no es un riesgo.

Después de que se haya ingresado una contraseña en el campo de la contraseña, está en el DOM de los navegadores y solo se requiere un poco de esfuerzo para extraer todo el valor. Por ejemplo, si va a la consola javascript del desarrollador (por ejemplo, en chrome / linux, escriba Ctrl-Shift-J) y escriba (puede omitir las líneas de comentarios que comienzan con // ):

var inputs = document.getElementsByTagName('input');
// find all <input> elements in the page

for ( var i = 0; i < inputs.length; i++) {  
// loop through all <input> elements

    if (inputs[i].getAttribute('type') === 'password') {  
    // find input elements with attribute type="password"

        console.log(inputs[i].value);
        // print the values of these password elements to the screen.
    }
}

Se imprimirá en la pantalla cualquier texto que se escriba en cualquier campo de contraseña. (Este código es equivalente al jQuery $('input[type=password]').value , que funcionará si la página web ha cargado jQuery).

Puedes escribir la palabra javascript: en la barra de ubicación y luego pegar

var inputs=document.getElementsByTagName('input'); for( var i=0; i < inputs.length; i++ ) { if (inputs[i].getAttribute('type') === 'password') alert(inputs[i].value) } 

en la barra de ubicación y cualquier texto que se encuentre en cualquier campo de contraseña se le avisará. (Tenga en cuenta que la mayoría de los navegadores eliminarán la parte javascript: si intenta pegar la URL completa, por lo que tendrá que escribirla.

javascript:var inputs=document.getElementsByTagName('input'); for( var i=0; i < inputs.length; i++ ) { if (inputs[i].getAttribute('type') === 'password') alert(inputs[i].value) }
    
respondido por el dr jimbob 16.10.2014 - 19:47
fuente
19

Sí, es un riesgo de seguridad, pero explotarlo es muy poco probable.

Se puede explotar de esta manera:

  1. Alguien usa tu computadora sin ti cerca

  2. Tiene tiempo suficiente para abrir IE

  3. Se conecta a un sitio web con una contraseña guardada

  4. Obtiene el perfil de su contraseña y desaparece

Si el intruso tiene tiempo suficiente para hacer todo lo anterior, sería mucho más rápido y sencillo descargar un keylogger, instalarlo, otorgar todos los permisos al firewall, hacer que el antivirus lo ignore y dejarlo.

Por lo tanto, si está pensando en el perfil de contraseña, tiene problemas más serios en los que pensar.

    
respondido por el ThoriumBR 16.10.2014 - 14:52
fuente
9

La contraseña no se muestra en la pantalla para evitar ataques de navegación por los hombros, pero el navegador aún la conoce. Cuando utiliza un almacén de contraseñas, le da la contraseña real a una aplicación solicitante y no a una versión hash o cifrada de la misma (que sería muy difícil de usar).

Si alguien está lo suficientemente cerca de ti como para que pueda usar tu teclado para ver si escribiste palabras o no, entonces están lo suficientemente cerca como para navegar por el teclado y la seguridad de tu contraseña ya está comprometida.

    
respondido por el Steve DL 16.10.2014 - 13:46
fuente
7

¿Riesgo de seguridad? Estás filtrando datos, así que sí, definitivamente es un riesgo de seguridad.

Pero el riesgo es la posibilidad de que suceda a veces el impacto. La posibilidad es baja porque no todos los días escribe una contraseña y luego se retira antes de iniciar sesión. El impacto también es bajo porque a menudo es mucho más fácil simplemente revelar el valor del campo (especialmente en los navegadores) e incluso si no, Aprenderé solo la posición del espacio en blanco. Eso todavía deja muchas opciones al descifrar la contraseña.

Entonces, ¿importa? No, en realidad no.

    
respondido por el Luc 16.10.2014 - 21:05
fuente
2

Es desafortunado, por supuesto, pero cuando el intruso ya puede hacerse pasar por usted (porque olvidó bloquear su estación de trabajo), en principio podrá acceder a la memoria de IE y leer la contraseña directamente. En la práctica usarías una herramienta para esto. Una vez, como prueba, leí exitosamente mi propia contraseña usando las herramientas de desarrollo del navegador. No hay necesidad de control + flecha y fuerza bruta de las piezas.

Sería malo si esta vulnerabilidad estuviera presente en la pantalla de inicio de sesión de Windows, ya que haría que las contraseñas del estilo de caballo correcto sean significativamente menos seguras. Sin embargo, en la pantalla de inicio de sesión, el control y la flecha saltan al principio o al final del cuadro de texto.

    
respondido por el Anonymous Coward 17.10.2014 - 08:28
fuente
0

En muchos casos, un atacante con acceso físico a la computadora también podría ingresar a la configuración del navegador, ver la lista de contraseñas guardadas y pulsar Mostrar contraseñas y ver todas las contraseñas guardadas allí mismo. . Dado que también se requiere acceso físico a la computadora para esto, la capacidad de ver las contraseñas guardadas es mucho más una amenaza.

    
respondido por el Keavon 19.10.2014 - 00:00
fuente
0

En cualquier instancia de una vulnerabilidad, el pensamiento adverso ayuda. ¿En qué escenario I encontraría útil esta vulnerabilidad si quisiera acceder maliciosamente a la cuenta de alguien?

Bueno, como administrador del sistema, tengo acceso al hash de la contraseña de todos, junto con cualquier sal y pimienta. Pero, como son hashes, todavía no puedo descifrar una contraseña que está bien elegida. No soy el único administrador de sistemas, por lo que no puedo instalar herramientas para snoop de contraseña y garantizar que no serán detectados.

Pero el usuario ha ingresado su contraseña y la ha dejado con asteriscos allí. Si se han alejado de la computadora, mientras se mantienen conectados, hay varias cosas que puedo hacer para recuperar la contraseña. Pero no lo han hecho. En cambio, me han llamado para ayudar con un problema que tienen con su navegador, teclado, mouse, lo que sea.

Bajo el disfraz de la prueba, puedo hacer clic alrededor, hacer clic en su nombre de usuario, seleccionar texto en la página, pulsar la pestaña, seleccionar el campo de contraseña, ctrl y los cursores ... o puedo iniciar sesión yo mismo, escriba mi nombre de usuario en el campo de nombre, haga clic en el final del campo de contraseña, mueva mi cursor al principio de forma natural ...

... una fracción de segundo, y he establecido que su contraseña tiene el formato "aaaa ?? aa", y mi tarea de descifrar su hash se ha vuelto mucho más fácil, porque solo necesito probar eso espacio del patrón. Suponiendo que pudieran usar cualquier carácter en un teclado, mi espacio de problemas se ha reducido de 94 ^ 8 = 6 * 10 ^ 15 posibilidades, a simplemente 62 ^ 4 * 62 ^ 2 * 32 ^ 2 = 5 * 10 ^ 13.

Lo que ya es una mejora cien veces mayor, lo que permite un rango mucho más amplio de patrones de ataque; pero lo más importante es que puedo adaptar mi ataque para probar cosas que probablemente funcionen primero: las cuatro palabras de las letras de mis diccionarios; luego dos caracteres especiales arbitrarios, probablemente una repetición, o un punto y un espacio; luego dos caracteres, los números más probables, especialmente si requerimos números en nuestra política de contraseñas.

Así que sí, se puede hacer en su cara por un técnico de soporte, y no deja rastro que un usuario experto u otro técnico de soporte pueda descubrir, como los dejados por los keyloggers o rootkits.

[Editar: Me acabo de dar cuenta de que también existe la posibilidad de que sea "???? xx ??" con ese patrón, pero eso es solo 32 ^ 6 * 62 ^ 2 = 2 * 10 ^ 12, dentro de la posibilidad de forzamiento brutal.]

[Edit2: escogí xxxx..xx como un ejemplo de dónde sería bueno saberlo, pero consideremos el paso de 8 caracteres en el peor de los casos: xxxxxxxx. Eso ha eliminado el perfil de ataque de 94 ^ 8 a 32 ^ 8 + 62 ^ 8, o 2 * 10 ^ 14, que todavía es una reducción de 30 veces. Las contraseñas más largas dan mejores reducciones, por supuesto, pero aún son más difíciles de descifrar. Pero no solo eso, podré eliminar una gran cantidad de conjuntos de reglas de mi perfil de ataque, por lo que si la contraseña no es aleatoria, la golpearé mucho antes.]

    
respondido por el Dewi Morgan 30.01.2016 - 03:15
fuente

Lea otras preguntas en las etiquetas