WEB开发网
开发学院网络安全黑客技术 破解MSSQL中的HASH密码 阅读

破解MSSQL中的HASH密码

 2009-05-07 16:51:50 来源:WEB开发网   
核心提示: 2.大小写(广告时间:英汉网络技术词汇这本字典好,翻译的时候很多金山词霸找不到的东西,破解MSSQL中的HASH密码(2),它都能弄出来) 使用查询 select pwdencrypt('ALLYESNO') 我们将得到hash 0x01004C61CD2DD04D67B

2.大小写(广告时间:英汉网络技术词汇这本字典好,翻译的时候很多金山词霸找不到的东西,它都能弄出来)

使用查询

select pwdencrypt('ALLYESNO')

我们将得到hash

0x01004C61CD2DD04D67BD065181E1E8644ACBE3551296771E4C91D04D67BD065181E1E8644ACBE3551296 771E4C91

通过观察,我们可以发现这段hash中有两段是相同的,如果你不能马上看出来,让我们把它截断来看。

0x0100(固定)

4C61CD2D(补充key)

D04D67BD065181E1E8644ACBE3551296771E4C91(原型hash)

D04D67BD065181E1E8644ACBE3551296771E4C91(大写hash)

现在我们可以看出来最后两组字符串是一模一样的了。这说明这段密码被相同的加密方式进行了两次加密。一组是按照字符原型进行加密,另一组是按照字符的大写形式进行了加密。当有人尝试破解SQL密码的时候将会比他预期要容易,这是一个糟糕的加密方式。因为破解密码的人不需要理会字符原型是大写还是小写,他们只需要破解大写字符就可以了。这将大大减少了破解密码者所需要破解密码的字符数量。(allyesno:flashsky的文章《浅谈SQL SERVER数据库口令的脆弱性》中曾经提到“如因为其算法一样,如果HASH1=HASH2,就可以判断口令肯定是未使用字母,只使用了数字和符号的口令”。实际上并不如flashsky所说的完全相同,我们使用了select pwdencrypt()进行加密以后就可以发现使用了数字和符号和大写字母的密码其hash1和hash2都会相同,所以这是flashsky文章中一个小小的bug)

补充key

根据上文所述,当时间改变的时候也会使得hash改变,在hash中有一些跟时间有关系的信息使得密码的hashes不相同,这些信息是很容易获取的。当我们登录的时候依靠从登录密码中和数据库中储存的hash信息,就可以做一个比较从而分析出这部分信息,我们可以把这部分信息叫做补充key.

上一页  1 2 3 4  下一页

Tags:破解 MSSQL HASH

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接