|
发表于 2006-3-4 17:11:35
|
显示全部楼层
[quote:bcce58488f="spirn"]按照这个过程,似乎发上去的验证包和返回包都是用同样的key(md5密码两次)加密的。而发上去的包是加密空串,应该不难推导出key,然后用同样的key可以解密返回的包。
虽然密码依然是不可知,但是破解通讯内容还是有可能的吧。
[quote:bcce58488f="yunfan"]对方也不会知道你的会话密钥, 因为这个登录成功的
返回包是服务器使用你当前密码的2次md5值加密的。 你的登录请求里也没有含你的密码, 只有你的
密码的2次md5值加密的1个空串作为验证码发给服务器的。 知道这个也无法反推出你的密码。
[/quote][/quote]
澄清一下, 我先道个歉, 我上面没说清楚, 关于登录请求,
是使用密码的二次MD5值作为密钥来加密一个随机的
十六字节的字串,(好像是16字节长, 这个记不清了).
这个加密的结果是作为登录请求包内密码的验证码, 发送到服务器的.
注意在登录请求中, 是使用密码的2次md的hash值做为key的, 即便
我们知道原始字串内容, 和加密后的内容, 反推出key的值, 还是
只能使用穷举的办法, 而我们理论上最多需要2的(8 ×16) 次方次,
这需要时间.........., 当然, 也许你非常lucky, 一次就碰上了 |
|