python做网站用什么软件,甘肃建设厅网站好了吗,wordpress如何添加主题,河北搜索引擎推广方法简介 那些通过请求#xff08;如查询字符串和表单数据#xff09;指定重定向URL的Web程序可能会被篡改#xff0c;而把用户重定向到外部的恶意URL。这种篡改就被称为开发重定向攻击。
场景分析 假设有一个正规网站http://nerddinner.com/#xff0c;还有一个恶意网站或钓鱼…简介 那些通过请求如查询字符串和表单数据指定重定向URL的Web程序可能会被篡改而把用户重定向到外部的恶意URL。这种篡改就被称为开发重定向攻击。
场景分析 假设有一个正规网站http://nerddinner.com/还有一个恶意网站或钓鱼网站http://nerddiner.com/注意这里少了个n。 一天小白收到了别人发的链接http://nerddinner.com/Account/LogOn?returnUrlhttp://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. 恶意网站保存了客户的用户名密码然后重定向会正规网站。 注这种方式每次访问含恶意脚本的页面都会跳转到恶意网站提示重新登录而开放重定向只会提示用户名密码错误一次相对而言开放重定向的无感知效果要好一点。 源码下载 如果大家想尝试开放重定向的效果可以去下载代码把判断本链接的语句Url.IsLocalUrl(returnUrl)注释掉然后在登录页面加上想要跳转到的页面如http://xxx.com/Account/LogOn?ReturnUrlhttp://www.baidu.com。 下载地址https://github.com/ErikXu/OpenRedirection 文章转载自http://www.cnblogs.com/Erik_Xu/p/5497479.html
更多专业前端知识请上
【猿2048】www.mk2048.com