E-mail ya en uso exploit

4

Tengo un portal de registro donde el usuario ingresa sus detalles y luego una cuenta de correo electrónico válida.

Actualmente, verifico que el correo electrónico no está en uso y si es que respondo con el clásico: "el correo electrónico ya está en uso" y algo como "recuperar su contraseña anterior o crear una nueva cuenta con un nuevo correo electrónico".

Me pregunto qué tan seguro es este comportamiento teniendo en cuenta que estoy regalando la información de que la dirección de correo electrónico que inserté está realmente disponible.

¿Cómo puedo hacer que sea más seguro? Actualmente, solo puedo pensar en evitar las comprobaciones de fuerza bruta para las direcciones disponibles, pero el problema sigue siendo.

    
pregunta dendini 19.02.2014 - 12:27
fuente

2 respuestas

8

La forma más sencilla de vencer este tipo de ataque es usar un correo electrónico de notificación en lugar de un mensaje de error. Cuando alguien intenta crear una cuenta con una dirección de correo electrónico, responda con "Gracias por registrarse, se ha enviado un correo electrónico a esta cuenta para su confirmación". A partir de entonces hay 2 casos:

  • El correo electrónico no está registrado: el correo electrónico notificaría al titular de la cuenta que se ha realizado un intento de registro utilizando esa dirección de correo electrónico y tiene enlaces para confirmar el registro o no hacer nada y el intento de registro fallará
  • El correo electrónico ya está registrado: el correo electrónico notificaría al usuario que se ha intentado registrarse utilizando la dirección de correo electrónico y que ya existe una cuenta. Dales opciones para recuperar su cuenta si es un intento legítimo de acceder. Dígales que no hagan nada si no es legítimo.

Las ventajas de este sistema es que un atacante no sabrá si el correo electrónico se ha utilizado en la cuenta o no, se notificará a los usuarios si alguien está intentando crear una cuenta en su nombre, y se le notificará si alguien está tratando de descubrir la información de la cuenta.

    
respondido por el GdD 19.02.2014 - 12:45
fuente
1

El ataque al que te estás refiriendo se conoce como enumeración, donde un atacante puede determinar una lista de correos electrónicos válidos al intentar recibirlos de forma aleatoria con tu servicio.

Creo que por las razones generadas en los comentarios de la otra respuesta: los ataques pueden generar spam contra un objetivo al intentar registrarse como ellos continuamente; o pierde mucho tiempo rellenando el formulario de registro solo para que se le recuerde que ya era miembro.

El balance que siento aquí es no pretender que el usuario se haya registrado correctamente, sino implementar el límite de velocidad, de modo que sí, el ataque puede enumerar las direcciones de correo electrónico, pero solo pueden obtener 5 intentos para hacerlo, haciendo que no valga la pena. manteniendo la usabilidad para los clientes.

    
respondido por el deed02392 19.02.2014 - 17:50
fuente

Lea otras preguntas en las etiquetas