SQL SERVER数据库口令的脆弱性
2007-05-16 09:33:44 来源:WEB开发网核心提示:跟踪了一下SQL SERVER数据库服务器的登录过程,发现口令计算是非常脆弱的,SQL SERVER数据库口令的脆弱性,SQL SERVER数据库的口令脆弱体现两方面:1、网络登陆时候的口令加密算法2、数据库存储的口令加密算法,下面就分别讲述:1、网络登陆时候的口令加密算法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
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接