Al señalar una falla de inyección SQL en otra pregunta, pude demostrar que se podía insertar un hash sha1 arbitrario en una consulta de tal manera que se tomaría para un hash real, y por lo tanto fue capaz de iniciar sesión asumiendo que el dummy Se utilizó hash. Podría inyectar un ORDER BY
, pero luego quería asegurarme de que el hash que estaba usando como un ejemplo saliera en la parte superior.
A mi entender, 0000000...0
debería ser una salida válida posible de la función hash pero, por supuesto, encontrar la entrada asociada no es trivial.
En cualquier caso, me hizo preguntarme. ¿Hay alguna forma, excepto la fuerza bruta o la descarga de una tabla de arco iris, para encontrar un hash que se pueda clasificar antes de un punto arbitrario (por ejemplo, antes del 99% de las contraseñas = ~ en los primeros 1.46150x10 ^ 46)
Sospecho que la respuesta es no, pero me gustaría confirmación.