[记录]我是如何bypass腾讯的消息链接安全检测的。

0x0F (…………………………………………………………………………………………………………………………………………………………………………………………………………………………….) | 2013-01-11 00:03

Case 1.从读取内容开始

  腾讯近几年在消息上下了不少工夫,也比较地人性化,在新闻消息链接中,有了这样的功能:

  从链接上看,腾讯对自家的链接照顾周到,给了预览功能,然而对大多数站点,却没有这么人性化的功能。

>>Test:   http://www.qq.com:@www.wooyun.org

  简单绕行,给QQ消息链接中加上了内容预览。

Case 2.打造虚假腾讯安全链接

Link 1:Http://www.qq.com

Link 2:Http://www.mcbang.com

How To:我们都知道,浏览器中存在有这样的解析:

http://a:b@www.qq.com/ 会以http方式a为用户名,b为密码提交到www.qq.com。

既然这样,我们先来看看浏览器是如何分析a与b的

测试环境:Firefox 17

  可以推断,[email protected]

我们再来看看腾讯消息中的结果:

前两条测试时,均是安全性无法确定,也就是说,判断方式应该是正确的,然而我们测试第三条http://@:www.qq.com时,却也如此,毫无疑问这条链接进入了www.qq.com

为了确认@,:与www.qq.com结合使用时的问题,我们再次测试:

这个结果提醒了我们 冒号与链接的连接使用会检测安全问题,而@不会。

接着继续我们的方向。

在链接http://www.a.com:www.b.com@www.c.com中我们知道@后的是目的站点。

所以我们应该明白 只要有@www.qq.com,就会提示腾讯链接,只要有:www.**.com就会提示不安全。

但是第一条为什么不行呢,我们这样测试:

到了这里,我们就成功地bypass了QQ的消息链接安全验证。

Case 3.延伸

  在bypass之后,我们发现不仅是QQ,其他类似于url验证的也存在,包括http://drops.wooyun.org/papers/44中提到的google,如果那种方式bypass修复了,是不是用这样也可以呢?这我就不知道了。然而很多网站的域内url验证,也会存在这样的问题,是不是也能这样bypass呢,我也不知道。

  期待你的bypass。

Case 4.Tips

http://123:@www.qq.com:@www.mcbang.com

PS:本文发之前Tx已经修复了此bug。