Recomendación de OWASP sobre el hash de contraseña del lado del cliente

4

La OWASP Application Security FAQ recomienda el uso de JavaScript para producir un jaspeado. contraseña del lado del cliente con JavaScript antes de enviarla al servidor.

  1. ¿Es esto algo realmente defendido?
  2. ¿Debo seguir esta ruta? ¿Cómo debería comportarse la página? ¿Debería desactivarse JavaScript? Me imagino que el inicio de sesión será rechazado?
pregunta Paul 11.11.2013 - 02:55
fuente

1 respuesta

4

Al almacenar un hash inactivo de la contraseña y luego utilizar este mismo hash como token de autenticación, una aplicación es más vulnerable a los ataques porque esta aplicación ahora está almacenando las credenciales de autenticación en texto sin formato. Un atacante puede usar la inyección SQL para leer este hash y luego autenticarse sin tener que descifrar el hash para obtener la contraseña de texto simple.

La entrada del wiki de OWASP que se hizo referencia en esta pregunta fue engañosa y se eliminó:

  

Aquí es cómo funciona la técnica MD5 con sal: la base de datos almacena un MD5   hash de la contraseña. (El hash MD5 es una técnica criptográfica en la que   el valor real nunca se puede recuperar.) Cuando un cliente solicita   La página de inicio de sesión, el servidor genera un número aleatorio, el salt y   Se lo envía al cliente junto con la página. Un código JavaScript en el   el cliente calcula el hash MD5 de la contraseña introducida por el usuario. Eso   luego concatena la sal al hash y vuelve a calcular el hash MD5.   Este resultado se envía al servidor. El servidor recoge el hash de   la contraseña de su base de datos, concatena la sal y calcula la   MD5 hash. Si el usuario ingresó la contraseña correcta estos dos hashes   debe coincidir. El servidor compara los dos y si coinciden, el usuario   es autenticado.

MD5 no es apropiado para las contraseñas. Esta es una primitiva rota y una violación de CWE-916 . Incluso si esto describía una respuesta de desafío segura, HTTPS es una herramienta más apropiada y se requiere para proteger el ID de sesión.

    
respondido por el rook 11.11.2013 - 04:05
fuente

Lea otras preguntas en las etiquetas