绽放重定向

简介

  那个经过乞求(如查询字符串和表单数据)钦定重定向UTiggoL的Web程序只怕会被曲解,而把客商重定向到表面包车型大巴恶意U昂CoraL。这种歪曲就被称作开采重定向攻击。

场所分析

 
图片 1

  假诺有四个行业内部网址http://nerddinner.com/,还有一个恶意网站或钓鱼网站http://nerddiner.com/(注意:这里少了个n)。

  一天,小白收到了人家发的链接:http://nerddinner.com/Account/LogOn?returnUrl=http://nerddiner.com。

  1.
张开链接后跻身了登入分界面,小白输入了和煦的帐号名密码实行登陆。

  2. 登入成功后重定向到了恶心网址。

  3. 恶心网址是一个克隆正规网址的记名页面,并在地点提醒客户名或密码错误。

  4. 小白依照提醒重新输入了帐号密码信息。

  5.
黑心网站保存了顾客的客商名密码,然后重定向会正规网址。

  6.
小白继续平日符合规律的操作。

 

严防开放重定向

  防止开采重定向只要求判断重定向的链接是地面包车型地铁链接也许是法定的链接就可以。

  1.
比如登陆链接和站点别的页面都在同一个域名,在ASP.MVC中可以用Url.IsLocalUrl(string
url)来判别。

  2.
假若登入链接和站点其余页面不在同二个域名,如单点登陆,则供给和煦去达成判别的逻辑。
 
主干代码

 1        [HttpPost]
 2         public ActionResult LogOn(LogOnModel model, string returnUrl)
 3         {
 4             //Your logon logic here.
 5             FormsAuthentication.SetAuthCookie(model.UserName, false);
 6            //Comment out this code will cause open redirection 
 7             if (!string.IsNullOrEmpty(returnUrl)&& Url.IsLocalUrl(returnUrl))
 8             {
 9                 return Redirect(returnUrl);
10             }
11             return RedirectToAction("Index", "Home");
12         }

 

联想到XSS

  1.
恶意客户在正经八百网址下挂了跳转到恶意网址的脚本。
  2.
普通顾客访谈到含恶意脚本的页面会跳转到恶意网站。
  3.
黑心网址是二个克隆正规网址的记名页面,并在上头提示供给再行登入。
  4.
小白遵照指示重新输入了帐号密码消息。
  5.
恶意网址保存了客商的客商名密码,然后重定向会正规网址。
 
  注:这种办法每一遍访谈含恶意脚本的页面都会跳转到恶意网址(提醒重新登陆),而开放重定向只会唤醒顾客名密码错误三遍,相对来说,开放重定向的无感知效果要好一点。  

   图片 2

源码下载

  假如我们想尝尝开放重定向的作用,能够去下载代码,把剖断本链接的语句Url.IsLocalUrl(returnUrl)注释掉,然后在签到页面加上想要跳转到的页面,如http://xxx.com/Account/LogOn?ReturnUrl=http://www.baidu.com。

  下载地址:https://github.com/ErikXu/OpenRedirection

 

 小说转载自:http://www.cnblogs.com/Erik_Xu/p/5497479.html

相关文章

admin

网站地图xml地图