Hash 这是什么样子的?

Hash 这是什么样子的?,hash,base64,exploit,Hash,Base64,Exploit,我不熟悉解码技术,昨天刚刚了解了base64、sha-1、md5和其他一些技术 我一直在试图弄清楚“orkut”蠕虫到底包含什么 在过去的几天里,我遭到了许多orkut垃圾邮件发送者和黑客的攻击,他们发送给我们的URL也有相似之处 我不知道它包含什么信息,但我需要弄清楚 问题在于以下文本: Foo+bZGMiDsstRKVgpjhlfxMVpM= lmKpr4+L6caaXii9iokloJ1A4xQ= 上面的编码似乎是base64,但事实并非如此,因为每当我尝试使用在线base64解码器对其

我不熟悉解码技术,昨天刚刚了解了base64、sha-1、md5和其他一些技术

我一直在试图弄清楚“orkut”蠕虫到底包含什么

在过去的几天里,我遭到了许多orkut垃圾邮件发送者和黑客的攻击,他们发送给我们的URL也有相似之处

我不知道它包含什么信息,但我需要弄清楚

问题在于以下文本:

Foo+bZGMiDsstRKVgpjhlfxMVpM=
lmKpr4+L6caaXii9iokloJ1A4xQ=
上面的编码似乎是base64,但事实并非如此,因为每当我尝试使用在线base64解码器对其进行解码时,我都会得到原始输出,但解码并不准确

可能其他一些代码已经与base64混合在一起了


谁能帮我破译一下吗?

哈哈,如果真的那么简单,那就不值得一试了!你必须比仅仅解码一次更努力。

它们可能只是散列

如果它们是散列,那么,如果原始内容超过一定的大小,则从算法上讲,“反转”它们是不可能的,因为在特定的源数据大小之后,散列将成为有损压缩函数

上面的编码似乎是base64,但事实并非如此,因为每当我尝试解码时 它使用在线base64解码器,我得到原始输出,但解码不准确


是什么让你认为解码是错误的?通常,您需要对二进制内容进行base64或hex编码,以便将其作为文本传输。您不会对文本进行base64编码,因此对上面提供的字符串进行解码会产生ASCII gobbledygook也就不足为奇了。

这是orkut蠕虫的一部分。有一些细节。注意,它提到了您在其中找到这些字符串的
JSHDF[“Page.signature.raw”]
变量


这是找到它的那一页的SHA1散列。显示它的解码形式。

通常乘以Foo+,无论是盐哈希的结果。通常使用salt存储散列结果,salt可以存储在clear中。为了将salt与实际散列值分开,通常使用+符号

使用Base64,因此哈希的二进制结果可以存储在文本中。可以看出这些字符串的最后一部分可能是有效的Base64,因为Base64内容始终是4的倍数。它每输入3字节输出4个有效ASCII字符。它用“=”符号填充末端

因此,对于
Foo+bZGMiDsstRKVgpjhlfxMVpM=
,这可能是采取一些输入的结果,不管是某种类型的消息,还是其他什么,然后应用“Foo”,然后对结果进行散列。字符串值
bZGMiDsstRKVgpjhlfxMVpM=
很可能是某个哈希函数的二进制结果。An显示以十六进制表示的值,而不是Base64,是
{6d918c883b2cb5121958298e195fc 4c5693}
。是的,这不是ASCII文本


Base64、二进制、十六进制、十进制都是表示值的方式。把
+
后面的部分想象成一个数字。上述136位数字可以是例如128位散列和8位散列的结果。谁知道呢?我不知道你为什么会收到垃圾邮件,或者为什么这些垃圾邮件会附加这些字符串,但这可能是对字符串结构本质的一些洞察。

N-J-请将你的答案作为你回复的答案的注释。