Mostrando CAPTCHA

0

Me gustaría mostrar un CAPTCHA para evitar intentos de forzamiento brutal, pero estaba pensando en mostrarlo cada vez que un usuario falla por una combinación de nombre de usuario / contraseña no válida después de X intentos, independientemente de si ese usuario existe en la base de datos o no. .

La idea era que si un usuario existía, entonces todo lo que un atacante tendría que hacer era registrar qué combinaciones de nombre de usuario (después de X intentos) mostraban CAPTCHA vs no (y por lo tanto, en base a eso, puedo obtener toda la e -se encuentra fuera de la base de datos).

Así que, por lo tanto, mostraría el captcha después de x intentos independientemente.

ahora, para hacer un seguimiento de eso, supongo que necesitaría una tabla de base de datos que literalmente guarde cualquier entrada que haya escrito el usuario, pero ¿parece algo excesivo?

que alguien podría probar [email protected] en un país y en otro, etc., y luego una persona lo arruina para que todos vean el captcha.

También podría intentarlo con [email protected] + dirección IP (así que solo si lo intentaste X veces con un combo de nombre de usuario / contraseña incorrecto de tu IP actual, mostraría el CAPTCHA).

¿Crees que debería almacenar la DIRECCIÓN IP y usarla como base para mostrar un CAPTCHA para un combo de contraseña / nombre de usuario no válido? O debería simplemente atenerme al texto utilizado universalmente durante un período de tiempo.

Gracias!

    
pregunta GuestUser101 11.07.2014 - 18:06
fuente

2 respuestas

1

Un par de cosas a considerar:

  • ¿Realmente desea ocultar las ID / correos electrónicos de sus usuarios? Vale la pena considerar si es probable que los usuarios olviden dicho nombre de usuario / correo electrónico. Cuando lo olvidan, un formulario de inicio de sesión que dice "ID o contraseña incorrecta" es terriblemente frustrante. Piense en la frecuencia con la que sus usuarios inician sesión, y si les envía las facturas en papel o las cartas que se espera que almacenen (en cuyo caso puede imprimir una identificación de usuario).
  • Bloquear un ID / correo electrónico específico por un tiempo después de, por ejemplo, 10 intentos fallidos son necesarios para evitar el forzoso en línea, por cierto. Si ya permitiste a los usuarios reales restablecer sus contraseñas por correo electrónico, recuerda avisarles de una fuerza bruta a través del correo electrónico (incluido un enlace para volver a habilitar su cuenta) para que, si necesitan iniciar sesión, puedan hacerlo.
  • No servir un CAPTCHA de manera sistemática es sumamente importante. Los usuarios legítimos obtienen hasta un 40% de tasas de fracaso en los CAPTCHA (citando fuentes internas en mi grupo de investigación, pero no tengo una URL para respaldar esto, ¡lo siento!). Servir CAPTCHA a un atacante que se dirige a una ID específica probablemente no sea útil porque solo puede bloquear la cuenta y advertir al usuario.
  • Servir CAPTCHAs por IP puede ser útil para bloquear a las personas que intentan contraseñas comunes para muchas direcciones de correo electrónico. Sin embargo, considere si tiene una gran base de usuarios ubicada en una universidad o corporación grande que comparte una dirección IP. Si necesita mostrar un CAPTCHA, dígale a los usuarios que esto se debe al gran tráfico de su dirección IP.
respondido por el Steve DL 11.07.2014 - 18:58
fuente
0

El uso de CAPTCHA no necesariamente detendrá a alguien de las cuentas de usuario de fuerza bruta. Simplemente añade otro obstáculo para superar. Una vez que el atacante desarrolla una forma automática de responder correctamente al CAPTCHA, continuará con el uso de fuerza bruta.

Hay varias formas de prevenir los intentos de forzados brutos contra las cuentas de usuario, pero creo que el enfoque más efectivo es el bloqueo del usuario. Es aceptable proporcionarle a un usuario cinco intentos de inicio de sesión, y luego ofrecerles la oportunidad de recibir su recordatorio de contraseña o restablecer el enlace de contraseña enviado por correo electrónico. Una vez que el atacante se da cuenta de que sus ataques están fallando después de solo cinco intentos, lo más probable es que se mueva hacia un objetivo más fácil.

Alternativamente, si no estás realmente tratando de detener los ataques de fuerza bruta, pero estás tratando de averiguar quién te está atacando, entonces sí, querrías rastrear y almacenar la información relacionada con los ataques.

    
respondido por el ap288 12.07.2014 - 00:43
fuente

Lea otras preguntas en las etiquetas