我是一个开发人员,突然间我陷入了一个愚蠢的境地,就像我需要破解一个散列Joomla密码,即(5aa154999c111bf7f33a1a3cadba5847
),而我不知道盐。有办法破解这个散列密码吗?
发布于 2018-09-09 04:29:11
正如斯巴克尔所说--“解密”、“破译”或“反向”几乎都是攻击密码哈希的错误词汇。
但是你可以试着破解它们--即使是用未知的盐。这包括尝试许多可能的字符串,看看它们是否会产生相同的哈希。如果盐也是未知的,那就更难了。
如果它是旧的Joomla,它是MD5-ish (虽然我不确定其中的细节,深入研究老Joomla或或hashcat可能会告诉您的源代码)。较新的Joomla使用phpass,所以有很多可能的盐类,所以这可能是非平凡的(除非密码是琐碎的)。
编辑:查看这个答案和其他源代码,除非您的实现是一个自定义的朴素实现,否则在2.5.18之前的Joomla散列有一个大的32-十六进制盐(16^32或~34x10^38的可能性)。即使密码是‘密码’,破解这个哈希没有盐将是非常不可能的。
发布于 2018-09-09 15:24:35
如果您能够获得哈希,您可能也可以获得盐分。我不知道Joomla,但我看到的每一个软件都将密码哈希和盐分存储在同一个表中,甚至作为唯一的字符串存储在一起。
如果两者都有,您可以尝试执行蛮力攻击,也就是说,使用该salt散列每个可能的密码,并检查是否相同。这需要花费大量的时间,因为您必须遍历密码中每个位置的所有可能的字符。使用所有可打印字符可以获得100^(密码长度)可能的密码,如果您不知道实际的密码长度,则应该对每个可能的长度重复此过程。
我是一个开发人员,突然间我陷入了一个愚蠢的境地,就像我需要破解一个哈希
从你的意思来看,你好像忘记了你自己的密码或者已经知道的密码。在本例中,我建议使用简单的密码创建一个密码字典,并使用hashcat或ripper应用基于规则的攻击。这本字典不应该有转换,f.e。如果您的密码是P@s5W0rd!
,则字典应该只包含password
,因为规则将导致所有可能的转换。基于规则的攻击是如何工作的,这超出了这个问题的范围,但是桥猫文档很好地解释了它.和hashcat本身包含了许多用于公共转换的规则。
此外,如果您试图恢复对Joomla实例的访问,并且您可以对数据库进行写访问,那么只需要覆盖散列和salt就更好了。要做到这一点,只需查看Joomla源代码,看看它是如何被散列的,并使用新的密码或使用web应用程序就像这个 (为了更好的安全性,请在数据库中设置新密码后通过Joomla更改密码)。
https://security.stackexchange.com/questions/193316
复制相似问题