什么是CSRF攻击

67 阅读1分钟

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种利用用户已登录的身份,在用户不知情的情况下执行非预期操作的攻击方式。以下是其核心概念和防御逻辑:


1. CSRF 的核心原理

  • 攻击前提
    用户已登录某个网站(如银行、社交平台),且网站未对请求来源进行严格验证。
  • 攻击流程
    1. 用户访问恶意网站(如伪装成抽奖页面的钓鱼网站)。
    2. 恶意网站中隐藏一个请求(如转账、发消息的按钮或图片链接)。
    3. 用户点击后,浏览器自动携带目标网站的 Cookie(如登录态)发起请求。
    4. 目标网站验证 Cookie 合法,执行恶意操作(如转账、删除数据)。

示例场景

假设用户登录了银行网站 bank.com,攻击者诱导用户访问恶意网站 malicious.com,其中包含以下代码:

<img src="https://bank.com/transfer?to=attacker&amount=10000" />

当用户加载该页面时,浏览器会自动发送请求到 bank.com/transfer,并携带用户在 bank.com 的登录 Cookie,导致转账操作被触发。


2. CSRF 攻击的特点

  • 隐蔽性:攻击请求通常伪装成合法操作(如图片加载、表单提交)。
  • 依赖 Cookie:攻击依赖浏览器自动携带目标网站的 Cookie。
  • 无用户交互:用户可能仅需访问恶意页面即可触发攻击。