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

破解MSSQL中的HASH密码

 2009-05-07 16:51:50 来源:WEB开发网   
核心提示: 上文中我们获取的hash中,补充key 4C61CD2D 就是这个信息的一部分,破解MSSQL中的HASH密码(3), 这个key 4C61CD2D 由以下阐述的方法生成, time()C 函数被调用作为一个种子传递给srand()函数, SQL服务器密码破解 我们可以使用同样的方式去破

上文中我们获取的hash中,补充key 4C61CD2D 就是这个信息的一部分。

这个key 4C61CD2D 由以下阐述的方法生成。

time()C 函数被调用作为一个种子传递给srand()函数。一旦srand()函数被作为rand()函数的种子并且被调用生成伪随机key,srand()就会设置了一个起点产生一系列的(伪)随机key.然后sql服务器会将这个key截断取一部分,放置在内存里面。我们叫它key1.这个过程将会再运行一次并生成另一个key我们叫他key2.两个key连在一起就生成了我们用来加密密码的补充key.

密码的散列法

用户的密码会被转换成UNICODE形式。补充key会添加到他们后面。例如以下所示:{'A','L','L','Y','E','S','N','O',0x4C,0x61,0xCD,0x2D}

以上的字符串将会被sql服务器使用pwdencrypt()函数进行加密(这个函数位于advapi32.dll)。生成两个hash

0x0100(固定)

4C61CD2D(补充key)

D04D67BD065181E1E8644ACBE3551296771E4C91(原型hash)

D04D67BD065181E1E8644ACBE3551296771E4C91(大写hash)

验证过程

用户登录SQL服务器的验证过程是这样子的:当用户登陆的时候,SQL服务器在数据库中调用上面例子中的补充key4C61CD2D,将其附加在字符串“ALLYESNO”的后面,然后使用pwdencrypt()函数进行加密。然后把生成的hash跟数据库内的hash进行对比,以此来验证用户输入的密码是否正确。

SQL服务器密码破解

我们可以使用同样的方式去破解SQL的密码。当然我们会首先选择使用大写字母和符号做为字典进行破解,这比猜测小写字母要来得容易。

上一页  1 2 3 4  下一页

Tags:破解 MSSQL HASH

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