SQL SERVER数据库口令的脆弱性

豆豆网   技术应用频道   2007年05月16日  【字号: 收藏本文

本文详细介绍SQL SERVER数据库口令的脆弱性

  跟踪了一下SQL SERVER数据库服务器的登录过程,发现口令计算是非常脆弱的,SQL SERVER数据库的口令脆弱体现两方面:

  1、网络登陆时候的口令加密算法

  2、数据库存储的口令加密算法。

  下面就分别讲述:

  1、网络登陆时候的口令加密算法

  SQL SERVER网络加密的口令一直都非常脆弱,网上有很多写出来的对照表,但是都没有具体的算法处理,实际上跟踪一下SQL

  SERVER的登陆过程,就很容易获取其解密的算法:好吧,我们还是演示一下汇编流程:

  登录类型的TDS包跳转到4126a4处执行:

  004DE72E:根据接收到的大小字段生成对应大小的缓冲区进行下一步的拷贝

  004DE748从接收到的TDS BUF偏移8处拷贝出LOGIN的信息

  004DE762:call sub_54E4D0:将新拷贝的缓冲压入进行参数检查的处理

  依次处理TDS包中的信息,各个字段气候都应该有各个域的长度,偏移0X24处与长度进行比较。

  下面这段汇编代码就是实现对网络加密密码解密的算法:

.text:0065C880         mov   cl, [edi]
  .text:0065C882         mov   dl, cl
  .text:0065C884         xor   cl, 5
  .text:0065C887         xor   dl, 0AFh
  .text:0065C88A         shr   dl, 4
  .text:0065C88D         shl   cl, 4
  .text:0065C890         or   dl, cl
  .text:0065C892         mov   [edi], dl
  .text:0065C894         inc   edi
  .text:0065C895         dec   eax
  .text:0065C896         jnz   short loc_65C880
  .text:0065C898         jmp   loc_4DE7E6

责编:豆豆技术应用

正在加载评论...