CSRF详解

本篇研究CSRF(Cross-Site Request Forgery,跨站请求伪造)

作用:攻击者诱导已登录用户在不知情的情况下对受信任网站发起请求,冒充用户执行敏感操作(如转账、修改密码等)

原理

利用浏览器自动携带 Cookie 的特性,在用户不知情的情况下向目标网站发起请求。

流程:

  1. 用户登录了银行网站,浏览器保存了 Cookie(如 sessionid=abc123

  2. 用户未登出银行网站,然后访问了攻击者控制的网站

  3. 攻击者控制的网站含有

    1
    <img src="https://bank.com/transfer?to=hacker&amount=1000">
  4. 浏览器会携带 Cookiebank.com 发起请求,从而在用户不知情的情况下完成了转账。

跟xss的区别就是得通过前端html或者js伪造用户发起请求

防御

防御手段 描述
使用 CSRF Token 每个表单或请求附带一个随机的、用户唯一的 token,服务端验证
验证 Referer / Origin 检查请求头中的 RefererOrigin 是否为本站 #当然如果触发界面是用户网站就没用了
敏感操作需二次验证 如验证码、短信、密码确认、手动确定等

推荐使用CSRF Token


CSRF详解
https://www.xiaotian.org.cn/2025/05/08/CSRF详解/
作者
xiaotian
发布于
2025年5月8日
许可协议