概述
CSRF(Cross-site request forgery)跨站请求伪造,也被称成为“one click attack”,通常缩写为CSRF,是一种对网站的恶意利用。
攻击者盗用了你的cookie凭证 ,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,让你亲自完成攻击者布置的操作,并且你并不知道这个过程。 通常对系统的添加、修改、删除操作危害极大。
重点
1、被攻击者已经登录网站,可以进行业务操作
2、被攻击者访问了攻击者构造的URL
原理
csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个网站,都会默认你已经登录的状态。(目前很多浏览器设置记住密码,为用户提供了便利,但当攻击者进项CSRF攻击时,也更容易中招)
而在这个期间,攻击者发送了构造好的csrf 脚本或包含csrf脚本的链接,诱使你去访问点击,可能会执行你不想做的功能(比如添加账号等)。这个操作不是你真正想要执行的。
Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户
- 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
-
用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
-
网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
-
浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。