Web安全之URL跳转漏洞


Web安全之URL跳转漏洞

文章插图
 
一、概述
服务端未对传入的跳转url变量进行检查和控制,可导致恶意用户构造一个恶意地址,诱导用户跳转到恶意网站 。跳转漏洞一般用于钓鱼攻击,通过跳转到恶意网站欺骗用户输入用户名和密码来盗取用户信息,或欺骗用户进行金钱交易;还可以造成xss漏洞 。
常见的可能产生漏洞的参数名redirect,redirect_to,redirect_url,url,jump,jump_to,target,to,link,linkto,domain
定义:借助未验证的URL跳转,将应用程序引导到不安全的第三方区域,从而导致的安全问题 。
 
url跳转常见出现的地方(即漏洞产生的地方)
  • 登陆跳转我认为是最常见的跳转类型,认证完后会跳转,所以在登陆的时候建议多观察url参数
  • 用户分享、收藏内容过后,会跳转
  • 跨站点认证、授权后,会跳转
  • 站内点击其它网址链接时,会跳转
  • 在一些用户交互页面也会出现跳转,如请填写对客服评价,评价成功跳转主页,填写问卷,等等业务,注意观察url 。
  • 业务完成后跳转这可以归结为一类跳转,比如修改密码,修改完成后跳转登陆页面,绑定银行卡,绑定成功后返回银行卡充值等页面,或者说给定一个链接办理VIP,但是你需要认证身份才能访问这个业务,这个时候通常会给定一个链接,认证之后跳转到刚刚要办理VIP的页面 。
 
【Web安全之URL跳转漏洞】 
 
二、URL跳转漏洞原理
黑客利用URL跳转漏洞来诱导安全意识低的用户点击,导致用户信息泄露或者资金的流失 。其原理是黑客构建恶意链接(链接需要进行伪装,尽可能迷惑),发在QQ群或者是浏览量多的贴吧/论坛中 。安全意识低的用户点击后,经过服务器或者浏览器解析后,跳到恶意的网站中 。
Web安全之URL跳转漏洞

文章插图
 
恶意链接需要进行伪装,经常的做法是熟悉的链接后面加上一个恶意的网址,这样才迷惑用户 。
Web安全之URL跳转漏洞

文章插图
 
诸如伪装成像如下的网址,你是否能够识别出来是恶意网址呢?
http://gate.baidu.com/index?act=go&url=http://t.cn/RVTatrdhttp://qt.qq.com/safecheck.html?flag=1&url=http://t.cn/RVTatrdhttp://tieba.baidu.com/f/user/passport?jumpUrl=http://t.cn/RVTatrd 
 
 
三、攻击方式及危害
恶意用户完全可以借用URL跳转漏洞来欺骗安全意识低的用户,从而导致“中奖”之类的欺诈,这对于一些有在线业务的企业如淘宝等,危害较大,同时借助URL跳转,也可以突破常见的基于“白名单方式”的一些安全限制,如传统IM里对于URL的传播会进行安全校验,但是对于大公司的域名及URL将直接允许通过并且显示会可信的URL,而一旦该URL里包含一些跳转漏洞将可能导致安全限制被绕过 。
如果引用一些资源的限制是依赖于“白名单方式”,同样可能被绕过导致安全风险,譬如常见的一些应用允许引入可信站点如youku.com的视频,限制方式往往是检查URL是否是youku.com来实现,如果youku.com内含一个url跳转漏洞,将导致最终引入的资源属于不可信的第三方资源或者恶意站点,最终导致安全问题 。
 
 
 
四、实现方式
  • Header头跳转
  • JAVAscript跳转
  • META标签跳转
通过以GET或者POST的方式接收将要跳转的URL,然后通过上面的几种方式的其中一种来跳转到目标URL 。一方面,由于用户的输入会进入Meta,JavaScript,http头所以都可能发生相应上下文的漏洞,如xss等等,但是同时,即使只是对于URL跳转本身功能方面就存在一个缺陷,因为会将用户浏览器从可信的站点导向到不可信的站点,同时如果跳转的时候带有敏感数据一样可能将敏感数据泄漏给不可信的第三方 。
 
这里我们举个Header头跳转实现方式:
<?php$url=$_GET['jumpto'];header("Location: $url");?>如果jumpto没有任何限制,所以恶意用户可以提交:
http://www.wooyun.org/login.php?jumpto=http://www.evil.com来生成自己的恶意链接,安全意识较低的用户很可能会以为该链接展现的内容是www.wooyun.org从而可能产生欺诈行为,同时由于QQ,淘宝旺旺等在线IM都是基于URL的过滤,同时对一些站点会以白名单的方式放过,所以导致恶意URL在IM里可以传播,从而产生危害,譬如这里IM会认为www.wooyun.org都是可信的,但是通过在IM里点击上述链接将导致用户最终访问www.evil.com这个恶意网址 。


推荐阅读