CSRF是什么?
CSRF
(
Cross-site request forgery
)跨站请求伪造,也被称为“
One Click Attack”
或者
Session Riding
,通常缩写为
CSRF
,是一种对网站的恶意利用。
CSRF
是通过
伪装
用户的
请求来利用网站。利用网站漏洞从用户那里恶意盗取信息
攻击者盗用了你的身份,以你的名义发送恶意请求
![](https://img-blog.csdnimg.cn/direct/71ef789fd4c548fe854da514ebd20eeb.png)
CSRF能做什么
以受害者名义发送邮件,发消息,盗取受害者的账号,甚至购买商品,虚拟货币转账,修改受害者的网络配置(比如修改路由器DNS、重置路由器密码) 造成的问题包括:个人隐私泄露、 机密资料泄露、用户甚至企业的 财产安全;
或者说盗用受害者身份,受害者能做什么,攻击者就能以受害者的身份做什么。
CSRF攻击原理
CSRF
攻击就是利用网站对用户网页浏览器的信任,挟持用户当前已登陆的
Web
应用程序,去执行并非用户本意的操作。在浏览器中cookie
在一段时间内是不会过期(不关闭或者退出浏览器),再次访问都会默认登录,这个应该都有体验。如果在cookie存在期间,通过构造csrf脚或包含csrf
脚本的链接发送给用户,得到信息后,再伪造成用户身份,执行相关操作
要完成一次
CSRF
攻击,受害者必须依次完成两个步骤:
1.
登录受信任网站
A
,并在本地生成
Cookie
。
2.
在不登出
A
的情况下,访问危险网站
B
。
如果不满足以上两个条件中的一个,不会受到
CSRF
的攻击。
CSRF
攻击是黑客借助受害者的
Cookie
骗取服务器的信任,但是攻击者并不能获取到Cookie,也看不到
Cookie
的内容。另外,由于浏览器
同源策略的限制
,黑客
无法从返回的结果中得到任何东西,CSRF 所能做的就是给服务器发送请求。
![](https://img-blog.csdnimg.cn/direct/6b1dfd9073fc4a26926f3ec4cfabefd9.png)