¿Hay alguna forma de iniciar sesión con un hash?

0

Entiendo que se siguen los siguientes pasos cuando inicio sesión en un sitio: 1. Mi contraseña es hash 2. El hash se compara con lo que está almacenado en la base de datos. 3. Si los hashes son iguales, puedo iniciar sesión.

También estoy bastante seguro de que si los atacantes obtienen acceso a la base de datos de contraseñas, pueden usar la fuerza bruta para encontrar las contraseñas de texto claro si el algoritmo de hashing es lo suficientemente débil.

Mi pregunta es, ¿existe alguna forma para que un atacante omita el paso 1 anterior? Es decir. Si él / ella ha obtenido acceso a una lista de contraseñas con hash, ¿puede el pirata informático presentar ese hash al servidor, evitando así el paso de hash?

    
pregunta HenricF 16.07.2014 - 07:48
fuente

2 respuestas

3

Esto generalmente se denomina ataque "Pasar el hash" .

Si la parte autenticadora realiza el hash por sí mismo y envía el hash por el cable, es probable que el sistema sea susceptible a este ataque.

La mayoría de las aplicaciones web no hacen esto sin embargo. En su lugar, envían la contraseña y el servidor realiza el hash, por lo que no hay forma de enviar el hash directamente.

    
respondido por el Andrey 16.07.2014 - 08:31
fuente
1

Si un usuario inicia sesión en un sistema que obliga a su contraseña a pasar por un algoritmo de hash, entonces necesitará la contraseña de texto simple. Ya que no puedes evitar el paso de hash, no puedes elegir qué pasos se realizan y cuáles no.

La aplicación web (muy simplificada) hace un:

$user = lookup_user_in_db($username, md5($password));
if($user != NULL){
  // do other stuff
}

El valor que envíe siempre pasará por la función de hashing md5 (), no hay forma de evitarlo, a menos que encuentre un error en la aplicación web donde haya una página que acceda a los hashes en lugar de a la contraseña (por ejemplo: cuando hashing cliente se realiza).

Habiendo dicho eso, si el algoritmo de hash se rompe, o se puede invertir, usted podría "derivar" el valor de texto claro del hash, pero esto es poco probable si se usan los estándares de la industria.

    
respondido por el ndrix 16.07.2014 - 08:23
fuente

Lea otras preguntas en las etiquetas