CSRF(跨站请求伪造)详解:原理、攻击方式与防御手段

📌 什么是 CSRF?

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种"偷懒攻击"方式,黑客利用你已经登录的身份,在你不知情的情况下,让你执行某些本不想做的操作。

🔹 你可以把 CSRF 理解成"钓鱼网站 + 偷用身份"!

🎬 真实案例:银行转账攻击

👀 假设你登录了银行网站 bank.com

  1. 你输入密码登录,银行网站给你存了一个 Cookie,之后不需要每次输入密码即可转账。

  2. 黑客创建了一个惨惨的名称叫 bad-hacker.com 的恶意网站。

  3. 你无意中点击了这个恶意链接(比如邮件中的钓鱼网址)。

  4. 该恶意网站偷偷发送如下请求到 bank.com

    复制代码
    <img src="https://bank.com/transfer?to=hacker&amount=1000" />
  5. 你的浏览器自动携带 bank.com 的 Cookie,银行服务器以为是你本人操作,直接执行转账!

🛑 这样,你的银行账户就被黑客利用,钱被转走了!

🔐 CSRF 攻击的核心条件

要发生 CSRF 攻击,需要满足以下条件:

  1. 用户已登录,浏览器里有 Cookie(如已登录银行网站)。

  2. 网站通过 Cookie 验证身份(没有要求额外的身份验证)。

  3. 服务器没有额外的 CSRF 保护机制(如 CSRF Token)。

🎯 如何防止 CSRF?

✅ 方法 1:使用 CSRF Token

银行可以要求所有"敏感操作"请求都带上一个额外的 CSRF Token,只有正确的 Token,才会执行操作。

复制代码
<form action="https://bank.com/transfer" method="POST">
    <input type="hidden" name="csrf_token" value="a1b2c3d4">
    <button type="submit">转账</button>
</form>

🔍 为什么 CSRF Token 有效?

  • Token 只能在 bank.com****生成,黑客无法获取。

  • 黑客无法跨站访问 bank.com****的 Token(受同源策略保护)。

  • Token 通常是动态变化的,避免被黑客重复利用。

✅ 方法 2:检查 Referer 头

银行可以检查请求来源,确保请求来自自己的网站。

复制代码
Referer: https://bank.com/

如果请求来源是 bad-hacker.com,服务器就拒绝操作。

银行可以在设置 Cookie 时,要求 Cookie 只能用于同源请求。

复制代码
Set-Cookie: sessionid=abc123; SameSite=Strict

这样,即使黑客诱骗你访问 bad-hacker.com,该网站也无法使用你的 Cookie,攻击失效!

📝 总结

问题 答案
CSRF 是什么? 黑客利用你的身份,在你不知情的情况下,让你执行敏感操作。
CSRF 的攻击流程? 你登录 bank.com → 访问 bad-hacker.com → 浏览器带着 Cookie 访问 bank.com → 服务器误以为你本人操作。
如何防御 CSRF? 使用 CSRF Token、检查 Referer、SameSite Cookie 保护。

🔄 CSRF 是一个常见的安全漏洞,但只要合理使用防御手段,就能有效防止攻击!

💡 你学会了吗?如果有不理解的地方,可以留言交流哦!

相关推荐
DsirNg2 天前
凭证不是登录态:从攻击面重做浏览器认证设计
oauth·xss·csrf·token·cookie·认证授权·web 安全
网安蟹佬霸10 天前
Android安全攻防实战:从APK逆向到Frida动态Hook全流程详解(附脚本)
android·前端·安全·web安全·逆向·csrf·网安
DsirNg16 天前
登录态失控时,前端如何止损:从令牌轮换到会话退出的完整设计
xss·csrf·cookie·会话管理·前端安全·登录态·刷新令牌
障碍的枫子18 天前
xss和CSRF的攻击和防御
前端·xss·csrf
qyyyyy57019 天前
英文技术标准和协议规范怎么读?RFC、接口规范与安全标准 PDF 翻译流程
网络协议·网络安全·机器翻译·csrf·技术美术
Full Stack Developme19 天前
跨站请求伪造 (CSRF) 是什么 设计及工作原理
前端·okhttp·csrf
三84420 天前
CSRF跨站请求伪造基础
前端·csrf
摸鱼停不住先生1 个月前
CSRF 专题:基于 Referer 的防御与典型绕过
前端·安全·csrf
sbjdhjd1 个月前
零基础 Web 安全笔记:文件包含 / 命令执行 / CSRF 漏洞攻防、PHP 函数与防御方案
android·网络协议·安全·php·漏洞·csrf·dvwa
Sagittarius_A*2 个月前
CSRF 跨站请求伪造:伪造请求攻击、绕过手段与底层防御
安全·web安全·csrf·dvwa