Estamos guardando la contraseña en una base de datos usando PHP:
return hash('sha256', PASSWORD_SALT . $password);
Recientemente, un (afortunadamente) buen hacker SQL nos inyectó y descifró algunas contraseñas, incluida la del administrador.
La historia no terminó dramática o terriblemente como en las películas de Hollywood, porque tuvo la amabilidad de señalarnos los agujeros. (Le "agradecimos" en consecuencia.)
Ahora que se han reparado los orificios, tememos que pueda haber algunos orificios en otro lugar, ya que la base del código es grande. Las preguntas son:
- ¿Cómo diablos rompió la contraseña tan rápido (de pocas horas a menos de un día)? PASSWORD_SALT es bastante largo, almacenado en el código fuente y no lo tenía. Además, no se acepta una contraseña en blanco en el código PHP.
- Suponemos que deberíamos cambiar el hash / cifrado de las contraseñas existentes y futuras. ¿Qué cifrado recomienda para que la contraseña expuesta esté más segura?
Nos dijo que usa algún software y una docena de máquinas de escritorio disponibles para él en su compañía. Dijo que es un experto en seguridad aburrido en una gran empresa, por lo que tiene los medios para hacer cosas.