攻击者如何知道在字典攻击中使用什么算法和盐?

信息安全 哈希 蛮力 密码破解 字典
2021-08-21 20:23:29

我对字典和蛮力攻击等密码破解方法很好奇。如今,密码在服务器上存储为散列而不是纯文本。那么如何将字典中的明文密码与泄露数据库中的哈希进行比较呢?由于哈希可以是不同类型的,例如 bcrypt、SHA-512 等,破解工具如何知道如何创建哈希并进行比较?

例如,看看下面的字典攻击。泄露的密码只是散列,字典有简单的英文单词。那么它们如何进行比较呢?攻击者或破解工具如何知道它应该使用什么哈希算法?甚至盐都在那里,但是攻击者怎么知道盐是什么?

用字典单词进行暴力攻击。 带有哈希和盐的数据库转储。

1个回答

明文和哈希如何比较?

在蛮力攻击期间,字典中的单词使用正确的散列算法和盐进行散列,然后与数据库转储中的散列进行比较。所以攻击者不仅需要知道哈希值本身,还需要知道算法和盐。

攻击者如何知道盐?

盐通常存储在哈希旁边的数据库中。事实上,它需要是。Web 服务器在检查传入密码时还能如何散列?所以如果你有一个数据库转储,你就有了盐。

攻击者如何知道使用什么算法?

这可以通过多种方式完成:

  • 您通常可以通过哈希的格式或长度来判断。例如,bcrypt 哈希通常以标记开头$2b$
  • 使用最常见的算法尝试一些非常常见的密码,迟早你会得到匹配的。由于通常只对所有哈希使用一种算法,因此您只需找到一个匹配项,然后您就可以继续使用该算法破解其他密码。
  • 更简单的是,如果您只知道一个密码(也许您在违规之前创建了自己的帐户),您可以在该密码上尝试不同的算法。(谢谢,。)
  • 如果您可以访问代码,您将在那里找到答案。(谢谢,马塞尔姆。)
  • 或者,如果您知道正在使用什么软件,您可能会在文档中找到它。(谢谢,埃克斯。)