URL 重定向及跳转漏洞

1 URL 重定向及跳转漏洞描述

URL 跳转漏洞是指后台服务器在告知浏览器跳转时,未对客户端传入的重定向地址进行合法性校验,导致用户浏览器跳转到钓鱼页面的一种漏洞。

现在 Web 登录很多都接入了 QQ、微信、新浪等第三方登录,以 QQ 第三方授权登录为例说明,在我们调用 QQ 授权服务器进行授权时,会在参数中传入 redirect_url(重定向)地址,告知 QQ 授权服务器,授权成功之后页面跳转到这个地址,然后进行站点登录操作。但是如果你的重定向地址在传输过程中被篡改成了一个钓鱼网址,那么就是导致用户的授权信息被非法获取。当然,QQ 第三方登录,也会有自己的策略,就是接入 QQ 第三方登录的应用,会在开发者平台,配置相关的跳转白名单,只有属于白名单中的域名、子域名或 url ,QQ授权服务器才跳转,如果发现 redirect_url 不合法,则跳转到非法页面

2 URL 重定向及跳转漏洞代码分析

header 获取 url 参数 使用 location 进行跳转,因为 url 参考可控导致可以跳转任何网站。

3 URL 重定向跳转攻击

构造有危害的钓鱼页面,通过这个 url 进行跳转。

http://192.168.1.9/06/vul/urlredirect/urlredirect.php?url=http://www.baidu.com安全意识低用户会误以为是当前信任页面发出来的连接,生成的链接,用户访问后,可能会产生欺诈行为,同时由于 qq,淘宝旺旺等基础 url 过滤,但是也是基于白名单的方式放行,所以导入 url 可以在这些软件上大范围传播,从而产生很大的危害。

4 url 重定向跳转防御

我们需要对传入的 URL 做有效性的认证,保证该 URL 来自于正确的地方,限制的方式同防止 csrf 一样可以包括:

1 referer 的限制

如果确定传递 URL 参数进入的来源,我们可以通过该方式实现安全限制,保证该 URL 的有效性,避免恶意用户自己生成跳转链接

2 加入有效性验证 Token

我们保证所有生成的链接都是来自于我们可信域的,通过在生成的链接里加入用户不可控的 Token 对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用,但是如果功能本身要求比较开放,可能导致有一定的限制

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值