利用场景
钓鱼攻击
中间人攻击
攻击手段
攻击者向受害者发送钓鱼链接
http://nerddinner.com/Account/LogOn?returnUrl=http://nerddiner.com
将正常网站重定向到攻击者控制的恶意网站
攻击效果
获取敏感数据(用户提交的)
获取受攻击者权限
形成原因
用户不能针对url结构作出安全决策
网站对于重定向未作检查
防御方式
在任何拼接重定向url的位置加入http://***/(附加绝对前缀)
不将用户输入拼接入url
尽量不要基于dom数据在客户端脚本进行重定向(类似dom型xss,避免数据不经服务器的安全验证)
其他
攻击点还包括js脚本中:document.location document.URL document.open windows.location.href windows.navigate windows.open
对于重定向url检查域名是否是本站、直接删除重定向的头部和拼接http://***不带斜线的这种方式,可能存在绕过,不能完全避免漏洞的产生