4.2 Testasp网站未经认证的跳转
缺陷标题:国外网站testasp>存在URL重定向钓鱼的风险。
测试平台与浏览器:Windows 10+Chrome或Firefox浏览器。
测试步骤:
1)打开网站:http://testasp.vulnweb.com,单击login链接。
2)观察登录页面浏览器地址栏的URL地址,里面有一个RetURL,如图4-1所示。
3)篡改RetURL值为:http://www.baidu.com,并运行篡改后的URL,如图4-2所示。
4)在登录页面输入admin'--登录,也可以自己注册账户登录。
期望结果:即使登录成功,也不能跳转到baidu网站。
实际结果:正常登录,并自动跳转到baidu网站。
图4-1 登录页面成功后的RetURL
图4-2 篡改RetURL至baidu网站,并提交
[攻击分析]:
URL重定向/跳转漏洞相关背景介绍:
由于应用越来越多地需要和其他的第三方应用交互,以及在自身应用内部根据不同的逻辑将用户引向到不同的页面,譬如一个典型的登录接口就经常需要在认证成功之后将用户引导到登录之前的页面,整个过程中如果实现得不好就可能导致一些安全问题,特定条件下可能引起严重的安全漏洞。
如果URL中跳转(jumpto)没有任何限制,恶意用户可以提交
http://www.XXX.org/login.php?jumpto=http://www.evil.com来生成自己的恶意链接,安全意识较低的用户很可能会以为该链接展现的内容是www.XXX.org,从而可能产生欺诈行为,同时由于QQ、淘宝旺旺等在线IM都是基于URL的过滤,同时对一些站点会以白名单的方式放过,所以导致恶意URL在IM里可以传播,从而产生危害,譬如这里如果IM会认为www.XXX.org都是可信的,那么通过在IM里单击上述链接将导致用户最终访问evil.com这个恶意网站。
攻击方式及危害:
恶意用户完全可以借用URL跳转漏洞来欺骗安全意识低的用户,从而导致“中奖”之类的欺诈,这对于一些有在线业务的企业如阿里巴巴等危害较大,同时借助URL跳转,也可以突破常见的基于“白名单方式”的一些安全限制,如传统IM里对于URL的传播会进行安全校验,但是对于大公司的域名及URL将直接允许通过并且显示为可信的URL,而一旦该URL里包含一些跳转漏洞将可能导致安全限制被绕过。
如果引用一些资源的限制是依赖于“白名单方式”,同样可能被绕过导致安全风险,譬如常见的一些应用允许引入可信站点,如youku.com的视频,限制方式往往是检查URL是否是youku.com来实现,如果youku.com内含一个URL跳转漏洞,将导致最终引入的资源属于不可信的第三方资源或者恶意站点,最终导致安全问题。
所有带有URL跳转的,都可以尝试篡改至其他网站,常见可以篡改的URL如:
returnUrl、backurl、forwardurl、redirectURL、RetURL、BU、postbackurl、succes-sURL等。