¿Impedir el inicio de sesión presionando Entrar - seguridad por oscuridad?

1

Un sitio de banca en línea que uso, tiene una "característica" que impide que un usuario presione Intro para enviar un formulario de inicio de sesión. Por ejemplo, si ha escrito su nombre de usuario en el campo Nombre de usuario, al presionar Entrar aparecerá el mensaje "Haga clic en Iniciar sesión para iniciar sesión".

La mayoría de los usuarios seguirían usando el mouse para apuntar y hacer clic. Sin embargo, en realidad es posible simplemente presionar la tecla Tab para mover el foco al botón y presionar la barra espaciadora para enviar el formulario.

  1. ¿Cree que "prevenir el envío de formularios presionando Intro" o "pedirle al usuario que use el mouse" es un caso de seguridad por oscuridad? No están usando teclados en pantalla, aunque creo que se supone que deben eludir a los keyloggers.

  2. ¿Qué tipo de ataque / amenaza podría evitar esta medida?

pregunta jingtao 23.10.2014 - 17:27
fuente

2 respuestas

2

Sospecho que esta decisión no estaba relacionada con la seguridad en absoluto. Probablemente tuvieron problemas con los usuarios cambiando accidentalmente el enfoque en el formulario antes de que estuvieran listos debido a su comportamiento clave. Facebook es muy malo sobre esto.

Esta compañía solo quería darle al usuario la opción de evitar que la tecla de entrada haga nada más que insertar un cr / lf.

    
respondido por el Jim In Texas 23.10.2014 - 17:41
fuente
0

Algunos bancos tienen JavaScripts que cifran / codifican los datos en el lado del cliente usando, por ejemplo, una clave pública o un algoritmo de hash, y luego los envían. Enviar el formulario con ENTER en una computadora con JavaScript deshabilitado, enviaría los detalles "sobre la limpieza" (nota: el sitio aún puede estar cifrado con SSL si usa SSL, pero los detalles de inicio de sesión se enviarán de forma clara dentro de la sesión SSL) por lo tanto, un MITMer obtendría acceso a aquellos en comparación con no tener acceso a ellos si JavaScript estuviera activo). Por lo tanto, un atacante puede deshabilitar JavaScript para forzar la transmisión de texto claro, eliminando así un speedbump para el atacante, por lo que el atacante solo tiene que lidiar con SSL en lugar de SSL + JS cifrado. Tenga en cuenta que una acción clara="" o una acción no especificada enviaría el formulario a la misma página que el formulario. Por lo tanto, no existe una manera infalible de deshabilitar absolutamente el envío de formularios para una computadora con JavaScript deshabilitado.

El banco aquí tiene que usar un tipo de entrada="botón", que llama a una función de JavaScript, y los campos de entrada, las etiquetas de formulario EXTERNO. Esto efectivamente bloquea el formulario para que SOLO funcione sobre JavaScript. Muchos clientes luego oprimirían ENTER, lo cual no haría nada, ya que los campos de entrada no están contenidos en un formulario, por lo tanto, solo agregaron un cheque sucio para ingresar, y si se presiona enter, solo muestran un mensaje para usar el botón.

    
respondido por el sebastian nielsen 24.10.2014 - 02:03
fuente

Lea otras preguntas en las etiquetas