【IT168 专稿】上次发表了《小漏洞,大危害之QQ空间暴出跨站漏洞》(原文地址:http://publish.it168.com/2007/0706/20070706017401.shtml)之后,腾讯很快补上了这个漏洞。不知道是看到了这个文章后补的,还是自己发现而补上的。总之这种中转验证不严导致的跨站漏洞看起来幼稚,但这种可笑的漏洞也是门户站点,安全的软肋,名家有云:细节是决定成败的关键。细节不容忽视。安全问题几乎都出于细节,有谁会敞开自家大门任由他人迈入呢。
上次发现这个漏洞后,腾讯很快就补上了本以为会从根本上解决问题。其实也不过是敷衍了事,今天再次发现了这个漏洞依然存在。
我们按上次的输入http://xxxxxx.qzone.qq.com/?url=http://baidu.com发现跳转到的还是QQ空间的首页(图1)。
图1
而把URL=后面随便输入一串字符进入会出现另一中情况(图2)。
图2
这说明在页面上依然用着中转验证的方式进行页面切换的。分析一下,可能是过滤掉了一些字符。猜测:可能过滤掉了HTTP://,但是在URL=后面直接输入BAIDU.COM,依然是图2的样子,从图2可以分析到,这个跨站漏洞就是在我们眼前的。如果在URL=后面直接输入一串任意字符后,直接跳到QQ空间主页,这个就可能没“戏”了。既然这样剩下的就是猜测问题了,究竟过滤掉了什么,我们不可能去阅读它的PHP,ASP,CGI里面的代码究竟过滤掉什么,因为腾讯的代码是根本不可能对外公布了的。另外本人对于代码分析也不是内行。但还是看了看页面的代码,如下(图3)
图3