什么是CSRF漏洞

发布时间:2026/10/26 16:31:01

什么是CSRF漏洞 文章目录前言1. 业务流程中的安全管控2. WebApp中安全机制的实现3. CSRF的形成3.1 成因3.2 攻击原理与流程4. CSRF漏洞总结前言1. 业务流程中的安全管控毫无疑问你访问的大多数WebApp、移动App都需要你注册登录才能使用这里面有着商业、风控、合规等原因也有业务本身就需要的原因。就像你去银行取钱银行得先确认你是谁然后基于“你是谁”再判断你能不能进行取钱这个操作。总结一下这个过程身份认证看你的身份证会话管理持续面对面标识你已经认证过了为你办理业务访问控制你存钱的金额取钱最大金额当我们将这些由人操作的业务流程实现为一个计算机信息系统/网络应用时也必须提供相应的机制身份认证账号口令会话管理客户端会话ID唯一标识服务端会话数据结构访问控制权限ACL2. WebApp中安全机制的实现传统的鉴权机制的实现整个机制没有问题只有拥有账号密码的实体才能通过认证只有认证过后才拥有一个唯一的身份凭据session idsession ID 存储在Cookies中。问题在于浏览器对同一站点的cookie是自动携带的不管请求来源是哪里。3. CSRF的形成3.1 成因CSRF漏洞形成因素概括为3个层次第一层浏览器的 Cookie 机制Cookie 的设计初衷让无状态的 HTTP 协议维持状态 Cookie 的携带规则只要请求的目标域名匹配就自动携带 不管这个请求是谁触发的这意味着用户访问evil.com页面里如果有一个指向bank.com的请求浏览器会自动把bank.com的 Cookie 带上去。这不是浏览器的 bug而是设计如此。第二层服务端的信任边界模糊服务端收到一个请求 → 看到 Cookie 有效 → 认为是用户本人操作 → 执行 问题服务端缺少一个关键判断—— 这个请求真的是用户在我们的页面上主动发起的吗有可能是跨站发起的请求因为Cookie是自动携带的服务端只做了身份认证Authentication没有做请求来源验证Origin Validation第三层请求的可预测性攻击者必须能构造出目标站能理解和执行的请求 - 知道 URL如 /transfer - 知道参数名如 to, amount - 知道请求方法GET / POST 如果这些信息都可预测/可获取 → 攻击成立三个层次合在一起自动携带凭证浏览器机制 × 服务端不验证来源服务端缺陷 × 请求可被构造信息泄露 CSRF 攻击成立3.2 攻击原理与流程用户登录 bank.com → 浏览器获得 CookieSession ID ↓ 用户访问攻击者控制的 evil.com ↓ evil.com 页面中的恶意代码自动向 bank.com 发起请求 ↓ 浏览器自动携带 bank.com 的 Cookie ↓ bank.com 服务器认为是合法用户的操作 → 执行转账等操作4. CSRF漏洞总结维度核心要点本质服务端无法区分请求是用户主动发起还是被第三方借用根因浏览器自动携带 Cookie 服务端不验证请求来源测试核心站在攻击者视角构造一个能让用户浏览器自动发出的请求验证服务端是否执行
延伸阅读

更多相关文章

2026/10/26 11:27:46

DokuWiki 原生支持 Markdown:从语法迁移到 PHP 8.2 部署全指南

如果你所在团队的文档一直放在 DokuWiki 里,那么看到“DokuWiki 原生支持 Markdown”这条消息时,第一反应大概率不是兴奋,而是困惑:维基系统不是都有自己的语法吗?为什么要去适配 Markdown?这个问题恰恰问到…

2026/10/25 2:47:07

YOLO红外微小飞鸟检测:数据集构建、模型优化与部署实战

简介:本资源是面向计算机视觉初学者与红外目标检测研究者的轻量级YOLO专用数据集,聚焦于低对比度、小尺度飞鸟在红外图像中的精准识别难题,适用于无人机巡检、生态监测、机场鸟击防范等实际场景。压缩包共605个文件,含302张红外鸟…

2026/10/26 15:37:31

Java原生LLMOps平台:构建企业级AI应用的高性能架构与实践

简介:这是一套基于Java语言构建的开源LLMOps平台资源,面向AI工程师、企业知识库开发者及RAG应用实践者,聚焦大模型工作流编排与检索增强生成(RAG)场景,解决多源知识集成、安全可控推理、高并发服务部署等核…

2026/10/26 16:29:34

从零手写前馈神经网络:NumPy实现与梯度检查实战

1. 从零搭建前馈神经网络的核心设计思路1.1 为什么还要从零手写神经网络很多人第一次接触神经网络,都是从调库开始的。sklearn几行代码就能跑一个分类器,PyTorch搭个nn.Sequential也能很快出结果。但真到要排查问题的时候,比如损失不下降、梯…

2026/10/26 16:29:34

多Agent集群实战:自动化开发工作流与SSH远程管理

1. 从一台吃灰的服务器说起:为什么要折腾多 Agent 集群去年年底我盘了一下手头的设备,发现角落里有一台 32 核 64G 的服务器,平时就跑跑定时脚本和几个 Docker 容器,CPU 长期在 5% 以下晃悠。与此同时,我每天的工作流里…

2026/10/26 16:29:34

Linux LVM存储管理实战:从基础概念到性能优化

1. LVM存储核心概念解析 LVM(Logical Volume Manager)是Linux环境下对磁盘分区进行管理的一种机制。与传统分区方式相比,LVM最大的优势在于能够动态调整存储容量而无需重新分区或重启系统。这种特性在现代云计算和虚拟化环境中尤为重要&#…

2026/10/26 16:29:33

HAProxy七层管理实战:从原理到高并发优化

1. 为什么需要HAProxy七层管理 在分布式系统架构中,流量管理是个永恒的话题。我最早接触HAProxy是在2015年一个电商项目的灰度发布场景,当时用Nginx做负载均衡遇到动态路由配置频繁变更的问题。运维同事随手扔给我一个HAProxy配置片段,那个AC…

2026/10/26 16:24:30

Oracle AWR报告生成与性能分析实战指南

1. Oracle AWR报告核心价值解析在Oracle数据库性能调优领域,AWR(Automatic Workload Repository)报告堪称DBA的"诊断显微镜"。这份自动生成的性能快照记录了数据库在特定时间段内的完整活动画像,包含从SQL执行统计到系统…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑