1介绍
CSRF(Cross Site Requests Forgery,跨站请求伪造),它是一种常见的Web攻击方式,很多开发者对它很陌生。它在2007年曾被列为互联网20大安全隐患之一。即使是大名鼎鼎的Gmail,在2007年底也存在CSRF漏洞,从而被黑客造成巨大的损失。
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为CSRF 或者XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
攻击者盗用了你在某个网站的身份,以你的名义发送恶意请求。
2CSRF是怎么发生的
跨站请求攻击,简单的说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器而不能保证请求是用户自愿发出的。
3CSRFS的原理
4CSRF的利用条件
从图中可以看到,要完成一次CSRF攻击,受害者必须一次完成两个步骤:
1.登录信任网站A,并在本地生成Cookie。
2.在不退出的情况下,访问危险网站B。
如果不满足以上两个条件中的一个,就不会受到CSRF的攻击。
5怎么防御
从漏洞原理来看
关键操作增加验证码
验证referer
使用Token