CSRF攻击

好的,关于 CSRF 攻击,我给你详细讲讲:


🔐 什么是 CSRF 攻击?

CSRF(Cross-Site Request Forgery)跨站请求伪造攻击,又叫“跨站点请求伪造”或“跨站请求伪造”。

它指的是: 攻击者诱导用户在已经登录的可信网站,执行非本意的操作。

换句话说,就是利用用户登录状态,在用户不知情的情况下,让用户浏览器帮攻击者发送恶意请求。


🕵️‍♂️ 攻击原理举例

  1. 用户登录银行网站,浏览器保存了登录的 Cookie(认证信息)。
  2. 用户在登录银行的同时,访问了攻击者的恶意网站。
  3. 恶意网站里有一段隐藏的请求(例如:转账请求),通过用户浏览器向银行网站发起请求。
  4. 因为浏览器会自动带上银行网站的 Cookie,银行服务器误以为这是用户的正常请求,执行了转账操作。

🔥 CSRF攻击的关键点


🛡 防范 CSRF 攻击的常用方法

方法 说明
CSRF Token(同步令牌) 在表单或请求头中加入随机 Token,服务器验证 Token 是否有效。Token 必须与用户会话绑定且不可预测。
Referer 校验 检查请求来源是否来自本站域名,但依赖 Referer,兼容性和安全性有限。
SameSite Cookie 属性 设置 Cookie 的 SameSite 属性为 StrictLax,防止跨站请求携带 Cookie。
双重验证 重要操作时要求输入密码、验证码等,增加安全门槛。

💡 总结