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
可以推断,FF是将最后一个@后的内容作为目的站点进行提交的。
我们再来看看腾讯消息中的结果:
前两条测试时,均是安全性无法确定,也就是说,判断方式应该是正确的,然而我们测试第三条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。
以上内容摘自:http://zone.wooyun.org/content/2304