什么是CSRF?CSRF漏洞原理攻击与防御(非常详细)从零基础入门到精通,收藏这一篇就够了! 📅 发布时间:2026/7/5 0:29:30 👁️ 浏览次数: 什么是CSRFCSRF漏洞原理攻击与防御非常详细零基础入门到精通收藏这一篇就够了文章目录前言一、什么是CSRF?二、CSRF攻击过程三、CSRF分类四、CSRF防护方法如何入门学习网络安全【黑客】【----帮助网安学习以下所有学习资料文末免费领取----】大纲学习教程面试刷题资料领取前言一、什么是CSRF?CSRF (Cross-site request forgery跨站请求伪造)也被称为One Click Attack或者Session Riding通常缩写为CSRF或者XSRF是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS)但它与XSS非常不同XSS利用站点内的信任用户而CSRF则通过伪装成受信任用户请求受信任的网站。简单的说是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己以前认证过的站点并运行一些操作如发邮件发消息甚至财产操作如转账和购买商品。因为浏览器之前认证过所以被访问的站点会觉得这是真正的用户操作而去运行。二、CSRF攻击过程如上图其中Web A为存在CSRF漏洞的网站Web B为攻击者构建的恶意网站User C为Web A网站的合法用户。CSRF攻击原理及过程如下1.用户C打开浏览器访问受信任网站A输入用户名和密码请求登录网站A2.在用户信息通过验证后网站A产生Cookie信息并返回给浏览器此时用户登录网站A成功可以正常发送请求到网站A3.用户未退出网站A之前在同一浏览器中打开一个TAB页访问网站B4.网站B接收到用户请求后返回一些攻击性代码并发出一个请求要求访问第三方站点A5.浏览器在接收到这些攻击性代码后根据网站B的请求在用户不知情的情况下携带Cookie信息向网站A发出请求。网站A并不知道该请求其实是由B发起的所以会根据用户C的Cookie信息以C的权限处理该请求导致来自网站B的恶意代码被执行。三、CSRF分类CSRF(Cross-Site Request Forgery)跟XSS漏洞攻击一样存在巨大的危害性。你可以这么来理解:攻击者盗用了你的身份以你的名义发送恶意请求对服务器来说这个请求是完全合法的但是却完成了攻击者所期望的一个操作比如以你的名义发送邮件、发消息盗取你的账号添加系统管理员甚至于购买商品、虚拟货币转账等GET类型的CSRF1.GET类型的CSRF仅仅须要一个HTTP请求。就能够构造一次简单的CSRF。样例银行站点A它以GET请求来完毕银行转账的操作如http://www.mybank.com/Transfer.php?toBankId11money1000危险站点B它里面有一段HTML的代码例如以下img srchttp://www.mybank.com/Transfer.php?toBankId11money1000首先。你登录了银行站点A然后访问危险站点B噢这时你会发现你的银行账户少了1000块。为什么会这样呢原因是银行站点A违反了HTTP规范使用GET请求更新资源。在访问危险站点B的之前。你已经登录了银行站点A而B中的 一个合法的请求但这里被不法分子利用了。所以你的浏览器会带上你的银行站点A的Cookie发出Get请求去获取资源以GET的方式请求第三方资源这里的第三方就是指银行站点了原本这是http://www.mybank.com/Transfer.php?toBankId11money1000结果银行站点服务器收到请求后觉得这是一个更新资源操作转账操作所以就立马进行转账操作。POST类型的CSRF在CSRF攻击流行之初曾经有一种错误的观点认为CSRF攻击只能由GET请求发起。因此很多开发者都认为只要把重要的操作改成只允许POST请求就能防止CSRF攻击。这样的错误观点形成的原因主要在于大多数CSRF攻击发起时使用的HTML标签都是、、而对于很多网站的应用来说一些重要操作并未严格地区分GET与POST攻击者可以使用GET来请求表单的提交地址。比如在PHP中如果使用的是 _ R E Q U E S T 而非 \_REQUEST而非 _REQUEST而非_POST获取变量则会存在这个问题。对于一个表单来说用户往往也就可以使用GET方式提交参数。比如以下表单:form action / register idregister methodpost input typetext nameusername value /input typepassword namepassword value /input typesubmit namesubmit valuesubmit //form用户可尝试构造一个GET请求http: //host/register?usernametestpasswordpasswd来提交若服务器端未对请求方法进行限制则这个请求会通过。如果服务器端已经区分了GET与POST那么攻击者有什么方法呢?对于攻击者来说若干种方法可以构造出一个POST请求。最简单的方法就是在一个页面中构造好一个表单表单然后使用JavaScript自动提交这个表单。比如攻击者在www.b.com/test.html中编写如下代码form actionhttp: / / www . a.com/register idregister methodpost input typetext nameusername value/input typepassword namepassword value/input typesubmit namesubmit valuesubmit// formscriptvar f document.getElementById ( register);f.inputs [0].value test;f.inputs [1].value passwd ;f.submit ();/script攻击者甚至可以将这个页面隐藏在一个不可见的iframe窗口中那么整个自动提交表单的过程对于用户来说也是不可见的。在2007年的Gmail CSRF漏洞攻击过程中安全研究者pdp展示了这一技巧。首先用户需要登录Gmail账户以便让浏览器获得Gmail的临时Cookie。用户登录Gmail然后攻击者诱使用户访问一个恶意页面。攻击者诱使用户访问恶意页面在这个恶意页面中隐藏了一个iframeiframe的地址指向pdp写的CSRF构造页面。http: //www.gnucitizen.org/util/csrf?_methodPOST_enctypemultipart/form-data_actionhttps%3A//mail.google.com/mail/h/ewtljmuj4ddv/%3Fv%3Dprfcf2_emctruecf2_emailevilinboxmailinator.comcfl_fromcfl_toucf1_subjicf1_hascfl_hasnotscf1_attachtruestfiSzirfonnvp bu_cftbCreate%20Filter这个链接的实际作用就是把参数生成一个POST的表单并自动提交。由于浏览器中已经存在Gmail的临时Cookie所以用户在iframe中对Gmail发起的这次请求会成功―—邮箱的Filter中会新创建一条规则将所有带附件的邮件都转发到攻击者的邮箱中。恶意站点通过CSRF在用户的Gmail中建立一条规则。四、CSRF防护方法1、只使用JSON API使用JavaScript发起AJAX请求是限制跨域的并不能通过简单的 表单来发送JSON所以通过只接收JSON可以很大可能避免CSRF攻击。2、验证HTTP Referer字段根据 HTTP 协议在 HTTP 头中有一个字段叫 Referer它记录了该 HTTP 请求的来源地址。在通常情况下访问一个安全受限页面的请求来自于同一个网站比如上文中用户User想要在网站WebA中进行转账操作那么用户User必须先登录WabA然后再通过点击页面上的按钮出发转账事件这时该转帐请求的 Referer 值就会是转账按钮所在的页面的URL而如果黑客要对银行网站实施 CSRF攻击他只能在他自己的网站构造请求当用户User通过黑客的网站发送请求到WebA时该请求的 Referer 是指向黑客自己的网站。因此要防御 CSRF 攻击网站WebA只需要对于每一个转账请求验证其 Referer 值如果是以网站WebA的网址开头的域名则说明该请求是来自WebA自己的请求是合法的。如果 Referer 是其他网站的话则有可能是黑客的 CSRF 攻击拒绝该请求。3、在请求地址中添加takon验证CSRF 攻击之所以能够成功是因为黑客可以完全伪造用户的请求该请求中所有的用户验证信息都是存在于 cookie 中因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。要抵御 CSRF关键在于在请求中放入黑客所不能伪造的信息并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token并在服务器端建立一个拦截器来验证这个 token如果请求中没有 token 或者 token 内容不正确则认为可能是 CSRF 攻击而拒绝该请求。这种方法要比检查 Referer 要安全一些token 可以在用户登陆后产生并放于 session 之中然后在每次请求时把 token 从 session 中拿出与请求中的 token 进行比对。学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。1、知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。2、 部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解3、适合学习的人群一、基础适配人群零基础转型者适合计算机零基础但愿意系统学习的人群资料覆盖从网络协议、操作系统到渗透测试的完整知识链开发/运维人员具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能实现职业方向拓展或者转行就业应届毕业生计算机相关专业学生可通过资料构建完整的网络安全知识体系缩短企业用人适应期二、能力提升适配1、技术爱好者适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者2、安全从业者帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力3、合规需求者包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】
GEO 崛起,做 SEO 的还能继续做吗?真相在这里 最近这一两年,搞流量的圈子里人心惶惶。大家讨论最多的不是哪家外链便宜,也不是哪个关键词好做,而是 AI 搜索到底会不会把搜索引擎优化的饭碗给砸了。尤其是 GEO 这个词冒出来之后,很多人开始犯嘀咕,觉得辛辛苦苦码字、… 2026/6/23 21:44:34
从STM32F407到STM32H743:使用CubeMx实现基于Lwip+LAN8720A+FreeRTOS的以太网数据传输(MPU、D-Cache、I-Cache踩坑指南) 从STM32F407到STM32H743:使用CubeMx实现基于LwipLAN8720AFreeRTOS的以太网数据传输(MPU、D-Cache、I-Cache踩坑指南) Chapter0 从STM32F407到STM32H743:使用CubeMx实现基于LwipLAN8720AFreeRTOS的以太网数据传输(MPU、… 2026/5/17 0:59:14
鸿蒙 HarmonyOS 6 | AI Kit 集成 Core Speech Kit 语音服务 文章目录 一、 Core Speech Kit 的能力边界与体系架构二、 文本转语音:从引擎构建到多维度配置三、 高阶实操:利用控制指令实现精准播报策略四、 语音识别:实时转写与长音频流式处理五、 写入音频流:处理 PCM 文件与录音数据的技巧… 2026/5/17 0:59:17
卫星安全攻防指南:从地面站渗透到轨道攻击的实战解析 1. 项目概述:当“太空”成为攻防新战场最近几年,我身边不少做安全研究的朋友,话题都开始从传统的Web渗透、内网漫游,逐渐转向了一些更“高远”的领域。其中一个绕不开的焦点,就是太空与卫星安全。这听起来像是科幻电影… 2026/7/5 10:13:06
固态硬盘核心技术解析与选购指南 1. 固态硬盘为何成为升级首选?2006年,当三星推出首款面向消费市场的32GB固态硬盘时,其售价高达数千美元,容量却不及当时主流机械硬盘的十分之一。十五年后的今天,一块1TB固态硬盘的价格已降至300元人民币左右ÿ… 2026/7/5 10:13:06
2026年移动与服务器处理器架构解析 1. 2026年移动处理器格局解析 2026年的移动处理器市场呈现出前所未有的技术分化态势,AMD与Intel两大巨头在笔记本CPU领域的竞争已从单纯的性能比拼,演变为架构设计哲学的根本差异。这场较量背后,反映的是对移动计算场景的深度理解与技术创新。… 2026/7/5 10:09:04
BK7259芯片解析:边缘AI与多媒体处理的低功耗方案 1. BK7259芯片深度解析:边缘AI与多媒体处理的瑞士军刀 在智能家居和工业物联网设备爆发式增长的今天,开发者们面临着一个核心矛盾:既要实现复杂的本地AI推理和多媒体处理,又要严格控制功耗和成本。博通集成推出的BK7259芯片&#… 2026/7/5 10:09:04
西门子Smart200 PLC实现电机恒速控制的技术解析 1. Smart200 PLC与电机恒速控制基础西门子S7-200 Smart系列PLC作为中小型自动化项目的经典选择,在电机控制领域有着广泛应用。要实现电机恒速运行,我们需要先理解几个核心概念:电机恒速控制的本质是通过实时调节输出功率来抵消负载变化带来的… 2026/7/5 10:07:04
Liberty格式在RTL综合中的关键作用与实现解析 1. Liberty格式在RTL综合中的核心地位 Liberty格式(.lib)是芯片设计流程中不可或缺的时序库描述标准,它定义了标准单元、IO单元和特殊功能单元的时序、功耗及功能特性。作为RTL综合阶段的关键输入文件,Liberty文件的质量直接决定了… 2026/7/5 10:07:04
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36