<script type=”text/javascript”> </script> <script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”> </script> <script type=”text/javascript”> </script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”> </script> SQLServer在1433端口传输的数据大部分是明文的,这包括IP地址,连接用户名,成功和失败消息这样一来,就很容易使用嗅探器嗅探在这个网段内SQLServer的相关信息,得到用户名和IP后,就差口令了,其实SQL的口令加密是十分脆弱的.
昨天我用了半小时,整理了一份口令字符对照表,在分析SQLServer加密口令的时候,同时发现了SQLServer一个不大不小的BUG—-如果你用”;”做口令将导致口令失效,原因是SQLServer的口令对照表中,没有这个字符,当SQLServer遇到这个口令字符的时候,就会主动放弃这个字符,这样一来,口令长度将与实际长度不符,过时的饼干下次连接1433的时候,这个字符就无法被系统识别出来,从而报告口令错误。
口令对照表的用法:
1.用16进制编辑器打开你Sniff到的东西,然后找到SQLServer连接的用户名,从用户名开始后面的第一个0x5a-1的位置就是口令的第一位,每一位口令均以0x5a分隔开来,口令字的变换请对照口令字符
对照表:
a0xb3
b0x83
c0x93
d0xe3
e0xf3
f0xc3
g0xd3
h0x23
i0x33
j0x03
k0x13
l0x63
m0x73
n0x43
o0x53
p0xa2
q0xb2
r0x82
s0x92
t0xe2
u0xf2
v0xc2
w0xd2
x0x22
y0x32
z0x02
10xb6
20×86
30×96
40xe6
50xf6
60xc6
70xd6
80×26
90×36
00xa6
-0x77
=0x76
/0x60
[0x10
]0x70
’0xd7
,0x67
.0x47
/0x57
`0xa3
!0xb7
@0xa1
#0x97
$0xe7
%0xf7
^0x40
&0xc7
*0x07
(0x27
)0x37
A0xb1
B0x81
C0x91
D0xe1
E0xf1
F0xc1
G0xd1
H0x21
I0x31
J0x01
K0x11
L0x61
M0x71
N0x41
O0x51
P0xa0
Q0xb0
R0x80
S0x90
T0xe0
U0xf0
V0xc0
W0xd0
X0x20
Y0x30
Z0x00
_0x50
+0x17
0x62
{0x12
}0x72
:0x06
”0x87
<0x66
>0x46
?0x56
~0x42
;不存在
以上文章是珍藏的东西。希望能对你在hacking有帮助
<script type=”text/javascript”> </script> <script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”> </script> <script type=”text/javascript”> </script><script type=”text/javascript” src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”> </script>