标签:
什么是跨站伪造请求攻击?
我自己的理解:用户A用浏览器访问量一个存在漏洞的网站B,同时A又访问了恶意网站C,假设用户A在B网站上进行了一次交易,C网站上有个<img src="A网站的交易地址"/>的html片段,那么此时用户A 的浏览器就会向B网站的交易链接发送请求,由于A已经在B网站登录,所以B网站处理的这个请求,但是这个请求并非用户A自己行为发送的,但是B网站无法判别是否是用户主动发送,所以造成攻击!可以借助这张图片来理解
该图取自hyddd的博客 hyddd的博客--《浅谈CSRF攻击方式》
如何防护?
在服务器端防御,主要做法是在服务器端为每个用户的cookie设置一个伪随机数
生成一个伪随机数放入cookie,然后同时将这个数作为表单的一个隐藏字段写入html页面后提交上来验证
为表单设置验证码
当浏览器同时打开多个不同的表单的时候,服务器会创建多个随机数,最后一个表单所对应的随机数会覆盖之前的表单的随机数,此时只能提交最后打开的那一个表单,所以应该要避免这种情况,所以应该为每个表单的沿着随机数存放在每个独立的地方
标签:
原文地址:http://my.oschina.net/u/2310482/blog/488388