Secur1ty just lik3 a girl. B0th of th3m h4ve s0me h0les. Y0u alw4ys try to f1nd the h0le, but n0t 3very tim3 y0u c4n 3xpl0it it!
查看文章 |
The Week of Baidu Bugs - Day 01: 任意URL跳转漏洞
2008-07-11 11:43
搬来百度不久,所以花了点小时间找了找baidu的漏洞,收集了一点,会陆续发出来。 Baidu的安全做的还是挺不错的,至少核心功能模块的漏洞还是比较少,看的出来网站对安全还是挺上心。 这次将在这里陆续披露一些漏洞的细节和POC,并讲讲漏洞的原理,希望百度能够尽快fix这些漏洞或者bugs。同时也搞搞科普,看看漏洞是怎样形成的,怎样造成危害的。 以后有机会可以和朋友们再搞搞The Month of Baidu/QQ/xxx Bugs之类。 今天是"The Week of Baidu Bugs"(WoBB)的第一天,由潜入深,先讲讲URL跳转漏洞。 这种漏洞往往是被利用来钓鱼,目前很多网站都有类似的漏洞。 一般形式如下: http://www.fvck.com/?jmpurl=http://www.attacker.com 从链接功能上看,应该是做一个跳转,但是jmpurl没有对跟的域名做限制,可以跳到任意地址去。 所以攻击者可以构造这个link,然后就跳到他自己的网站去了。 我们知道,目前钓鱼者往往喜欢在IM里或者是邮件里发送一些欺诈网站,比如欺骗说中奖了一类。 而我们的对抗方法一般是检查域名是否为自己的网站: fvck.com IE8和FF都有一个高亮显示主域名的方式来对抗这种基于URL的欺骗(参考我前不久写的IE8安全新特性),那么如果是这种URL跳转漏洞,类似的防御方法就变得一点用都没有了。 如下图,在QQ中,不同域名的链接的提示是不同的 言归正传,baidu的URL跳转漏洞如下: http://passport.baidu.com/ubrwsbas?u_jump_url=http://www.ph4nt0m.org passport.baidu.com是baidu的登录入口,其中只要是有 u_jump_url 这个参数的地方,后面的跳转地址都是可以控制的,可以指向我们的任意链接。 我给出的link只是其中一个,你还可以去找找带了u_jump_url这个参数的其他链接,都能够由自己控制。 除了这个参数的问题外,还有一个基于DOM的跳转漏洞 构造以下链接: http://hi.baidu.com/aullik5/album/默认相册#.ph4nt0m.org 然后刷新页面,看到了什么?是的,跳转到了 http://hi.baidu.com.ph4nt0m.org 问题出在如下代码 提交后,服务器返回中有 <script language="javascript"> <!-- var hash=window.location.hash; if(hash.replace(/#+/,"").length>1) { var arg=window.location.href.split(/#+/)[1]; window.location="http://hi.baidu.com"+arg; } 所以就跳到我们要的地方去了 以上,就是今天科普的内容。 欲知后事如何,且听下回分解。 注: 本次活动纯属个人行为,与任何组织无关。 |
最近读者:
