1.XSS 跨站点脚本攻击

1
www.tentou.com/index.html?name = <script> xssScript() </script>

如果在邮件中,点击了上述链接,就会在当前页触发一个js程序,这个程序可以获取你的cookie,获取到sessionID,这样就可以伪造你的身份。
解决办法:
设置Cookie新属性HTTP-only:不许通过脚本访问cookie

2.CSRF 跨站请求伪造

CSRF是利用网站对用户的信任来发起攻击。

例如:在邮件中插入一张图片:

1
<img src='http://book.com/pay?bookid=100'/>

imgscriptiframe标签都是不受同源策略限制的,假设你使用的邮箱很直白地给用户即时显示这张图片,而该用户又刚好登录了book.com且没有关闭浏览器,那么src里的连接就会立刻访问book.com/pay页面,并按照已通过身份验证的情况来处理,从而做了购书的操作。

解决办法:

  1. 检查报头中的Referer参数确保请求发自正确的网站(但XHR请求可调用setRequestHeader方法来修改Referer报头);

  2. 对于任何重要的请求都需要重新验证用户的身份;

  3. 创建一个唯一的令牌(Token),将其存在服务端的session中及客户端的cookie中,对任何请求,都检查二者是否一致。

参考资料:http://www.cnblogs.com/vajoy/p/4176908.html

关于CSRF 和 csrftoken

← Prev Next →