在关于QQ访问权限方面其实有很多值得我们研究的地方,今天小菲就来带大家探讨一下利用QQ动态密钥(skey)来突破登录权限的思路和方法,以及相关的安全防范技巧。
可能大部分童鞋还不知道skey是什么东东的吧?所以小菲先来介绍下Web网页登录QQ时动态生成的key的基础知识。
可以这样讲,不管是通过QQ控件在网页中快速登录还是输入QQ帐号/密码手动登录,又或者是直接从QQ客户端进入,都是利用了skey这个密钥来记录和保持登录状态的。而这个skey值是通过cookie的方式保存在你的浏览器进程的内存里,只有通过抓包等方式才可以截获到,来看下面抓到的HTTP请求头:
GET / HTTP/1.1
Cookie: skey=@njGHHthuc; uin=o126******2;
Accept: image/jpeg, */*
Referer: qz.qq.com
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: qz.qq.com
Cache-Control: no-cache
也就是说腾讯服务器是通过返回cookie请求头的方式验证skey和uin来判断QQ用户的权限的。如果我们知道了某一QQ号码的skey,那就意味着拥有了和目标QQ号同样的管理权限,像什么空间加密相册通通都是浮云啦。
但是通过一般的方法获取目标QQ的skey还有些困难,起码小菲还木有想到有更高明更简单的方法,除了截获对方访问网页的封包外其他暂时想不到了,说到防范其实这也不算什么bug,而是利用了web服务器cookie通用验证策略,但如果你是和多人通过路由器共享上网的话,一旦遭到arp欺骗,则有可能被恶意者截取到你的skey封包。所以本方法仍旧仅是思路没有具体的实际应用价值
本文转载自菲菲博客
[ 此帖被韩小菲在2012-09-16 07:31重新编辑 ]