当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-065305

漏洞标题:Flash+chrome绕过腾讯URL跳转安全检测策略

相关厂商:腾讯

漏洞作者: iv4n

提交时间:2014-06-19 15:33

修复时间:2014-06-19 17:59

公开时间:2014-06-19 17:59

漏洞类型:URL跳转

危害等级:低

自评Rank:1

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-19: 细节已通知厂商并且等待厂商处理中
2014-06-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

Web中URL跳转漏洞是因为总有一些不靠谱的修复方案,虽然这是Chrome的坑。

详细说明:

登陆了tx首页,一堆Flash广告真头疼,TX的Flash广告变化挺快的,看看有木有漏洞。
找啊找啊,找不到XSF,看到个navigateToURL,第二个参数还是"_blank",跳转也收了吧。

if (QSecChecker.checkLegalUrl(param1))
{
navigateToURL(new URLRequest(param1), "_blank");
}


我大腾讯的QSecChecker真厉害

public static function checkLegalUrl(param1:String) : Boolean
{
if (!param1 || checkIsLocalPath(param1))
{
return true;
}
var _loc_2:* = param1.split("/")[2];
return checkLegalDomain(_loc_2);
}// end function


public static function checkIsLocalPath(param1:String) : Boolean
{
param1 = trim(param1);
var _loc_2:* = /^(http:\/\/|https:\/\/|\/\/)""^(http:\/\/|https:\/\/|\/\/)/gi;
return !_loc_2.test(param1);
}// end function


上面两段代码比较简单,就是先检测是否是相对路径,如果是,则直接返回true,跳转;如果不是,则进行白名单校验。
先看了下相对路径的判断方法:如果不是以 http://, https://,或者//开头的,就算相对路径。
不过这让我想到了一个绕过的方法,放出Chrome的一个小tips。
Chrome浏览器有个可(zuo)爱(si)的小特性,就是http:与//之间(包括连个斜杠之间),可以插入\,不影响url请求,比如:
http:/\/baidu.com
http:\//baidu.com
/\/baidu.com
http:\\\//baidu.com
借用这个特性,我大TX的QSecChecker的相对路径检测就被轻松绕过了,O(∩_∩)O哈哈~。
http://ra.gtimg.com/adsame/1682215/20100.swf?clickurl=http:\//baidu.com

漏洞证明:

看了2个广告,都是这个模板的。
条件:chrome浏览器,点击触发:
http://ra.gtimg.com/adsame/1682215/20100.swf?clickurl=http:\//baidu.com
http://ra.gtimg.com/adsame/1682215/400300.swf?clickurl=http:\//baidu.com

修复方案:

判断相对路径这里考虑一下

版权声明:转载请注明来源 iv4n@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-06-19 17:59

厂商回复:

非常感谢您的报告。这个问题我们经过评估,目前该业务已有一些策略应对该问题,影响较为可控,故暂不作处理。如果您有任何的疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无