
CSRF 与 SSRF 原理剖析区分两者攻击场景免责声明本文仅用于网络安全原理学习、漏洞原理科普所有案例均为本地授权靶场环境演示。未经授权对任何互联网资产实施 CSRF、SSRF 攻击属于违法行为违反《网络安全法》《刑法》相关规定。读者仅可在自己拥有完全所有权的测试环境中进行复现任何非法操作产生的一切法律后果由行为人自行承担。本文所描述的攻击手段仅用于安全防御、漏洞检测的学习研究不提供任何可直接用于未授权攻击的 Payload。前言在 Web 安全漏洞体系当中CSRF 与 SSRF 是很多初学者极易混淆的两类漏洞。从名字上看二者都带有 “SRF”很多新手在学习阶段经常把两个漏洞混为一谈甚至在写漏洞报告、做漏洞复现的时候错误判定漏洞类型导致报告失效、评审驳回。CSRF 全称跨站请求伪造Cross-Site Request ForgerySSRF 全称服务器端请求伪造Server-Side Request Forgery。虽然名字都包含请求伪造但是攻击主体、攻击位置、触发逻辑、攻击目标、防御方案完全不同。简单一句话概括两者最核心差异CSRF利用受害者浏览器身份以受害者身份向目标网站发起请求SSRF利用服务器作为攻击跳板让服务器代替攻击者发起请求。很多人只记住这一句简单结论但是遇到真实业务场景时依然无法快速区分。比如在渗透测试、代码审计、漏洞挖掘中经常遇到业务场景点击链接就触发修改密码、访问一个图片地址读取内网资源很多人无法第一时间判断是 CSRF 还是 SSRF。本文将从基础原理、漏洞产生根源、完整攻击链路、Payload 构造、漏洞分类、利用场景、挖掘思路、代码审计示例、漏洞防御、靶场复现要点、真实业务案例、两者横向对比、面试高频考点等多个维度完整剖析 CSRF 与 SSRF。同时重点对比两者的核心差异梳理不同场景下如何快速区分这两类漏洞。本文适合 Web 安全初学者、渗透测试工程师、代码审计人员、安全开发、在校 CTF 选手阅读。读完本文你将彻底搞懂 CSRF、SSRF 底层原理能够在真实业务场景快速区分两者掌握漏洞挖掘、代码审计、漏洞修复、防御方案同时掌握面试中关于这两个漏洞的高频考点。1 CSRF 跨站请求伪造原理详解1.1 CSRF 核心概念CSRFCross-Site Request Forgery中文名称跨站请求伪造。通俗来讲攻击者构造一个恶意页面诱导已经登录目标网站的受害者访问恶意页面。恶意页面在受害者浏览器中自动发起请求到目标业务网站。由于浏览器会自动带上目标网站保存在本地的 Cookie目标网站收到请求之后会认为这个请求是受害者本人发起从而执行请求对应的业务操作。关键点整个攻击过程攻击者拿不到受害者的 Cookie无法读取返回内容只能以受害者身份发起请求执行操作。攻击者只能 “冒用身份发起操作”不能直接拿到响应结果。举一个生活化例子方便理解假设你登录了银行网站浏览器保存了银行登录 Cookie。攻击者给你发送一个恶意链接你点开链接。这个页面后台自动向银行网站发送请求调用转账接口。因为你的浏览器携带了银行 Cookie银行服务器认为是你本人操作直接执行转账。攻击者看不到银行页面返回信息但是转账这个动作已经完成。这就是 CSRF 最经典场景。1.2 CSRF 漏洞产生的根本原因很多人会误以为漏洞根源是 Cookie。Cookie 只是载体不是根源。CSRF 产生的核心条件需要同时满足下面几条目标网站存在无状态的业务接口接口执行敏感操作修改密码、转账、修改手机号、新增管理员只依靠 Cookie 来校验用户身份没有其他二次校验手段浏览器同源策略的特性浏览器向目标站点发起跨域请求时会自动携带目标站点对应的 CookieCookie 的 SameSite 属性为 None 或者 Lax 旧版本受害者处于登录状态受害者浏览器存在目标网站有效登录 Cookie受害者访问攻击者可控的恶意页面接口没有 CSRF Token、验证码、二次密码、SameSite Cookie 等防护机制。核心本质服务器只信任浏览器自动携带的 Cookie没有校验 “这个请求是不是用户主动发起”。服务器只校验 “你是谁”不校验 “这个请求是不是你自愿发起”。同源策略简单补充同源策略限制 JS 读取跨域响应但是不会阻止跨域请求发送。这就是 CSRF 能够成立的基础。恶意页面 JS 可以发起跨站请求请求会带上 Cookie但是 JS 无法读取目标网站返回内容。这是 CSRF 非常重要的特点。1.3 CSRF 完整攻击链路我们把完整攻击流程拆分为 5 步受害者正常访问 A 网站目标业务网站登录账号浏览器保存 A 网站登录 Cookie攻击者搭建恶意网站 B在 B 页面嵌入自动执行的请求图片标签 img、iframe、JS 的 fetch/ajax 等请求地址是 A 网站敏感接口攻击者诱导受害者访问恶意网站 B钓鱼邮件、聊天消息发送链接受害者打开 B 页面浏览器自动发起跨域请求访问 A 网站接口浏览器自动带上 A 网站 CookieA 网站收到请求读取 Cookie 判定用户身份执行接口对应的敏感操作。重点整个过程攻击者无法获取受害者 Cookie无法看到 A 网站接口返回内容只是利用浏览器自动携带 Cookie 的特性被动执行操作。1.4 CSRF 漏洞分类GET 型 CSRF / POST 型 CSRF按照请求方式CSRF 分为 GET 请求型 CSRF 和 POST 请求型 CSRF。1.4.1 GET 型 CSRFGET 请求的特点参数放在 URL 中。攻击最简单不需要复杂页面直接构造 URL 即可触发。假设业务接口修改邮箱接口http://test.com/user/updateEmail?emailattackertest.com这个接口只依赖 Cookie 校验身份没有 Token 防护。攻击方式直接构造恶意链接发送给受害者。只要受害者登录状态下点击链接浏览器发起 GET 请求修改邮箱操作自动执行。甚至可以放到 img 标签图片加载自动触发img srchttp://test.com/user/updateEmail?emailattackertest.com当打开包含这个 img 标签的页面图片加载的时候自动发起 GET 请求不需要用户点击任何按钮。GET 型 CSRF 是最容易利用的一类风险很高。现在主流开发规范敏感操作接口禁止使用 GET 请求因为 GET 请求会被浏览器预加载、缓存极易触发伪造请求。1.4.2 POST 型 CSRF敏感接口使用 POST 方法提交数据参数放在请求体里面。此时单纯一个 URL 无法完成攻击需要构造 HTML 表单自动提交表单。示例接口POST/user/updateEmail提交参数emailattackertest.com。恶意页面代码示例form actionhttp://test.com/user/updateEmail methodpost idcsrf_form input typehidden nameemail valueattackertest.com /form script document.getElementById(csrf_form).submit(); /script当受害者打开这个页面JS 自动提交表单发起 POST 请求携带目标站点 Cookie完成修改邮箱操作。POST 型 CSRF 不能直接用 URL 触发需要构造 HTML 页面但是利用门槛依然很低。很多开发误以为 POST 就可以防御 CSRF这是一个非常经典的误区。POST 不能防御 CSRF只是增加一点点利用成本。补充还有一种 PUT/DELETE 等其他请求方法的 CSRF原理一致需要表单配合 JS 或者使用 fetch 发起跨域请求。1.5 CSRF 攻击载荷构造与靶场演示思路在 DVWA、Pikachu 这类靶场中CSRF 模块就是经典演示场景。以 DVWA CSRF 模块为例修改密码接口 GET 请求参数 password_new、password_conf。构造恶意 URL诱导登录用户访问直接修改密码。需要区分CSRF 攻击成功的前提接口只依靠 Cookie 鉴权没有 CSRF Token。如果接口每次请求附带随机 Token攻击者无法预测 Token 值攻击失效。1.6 CSRF 常见利用场景CSRF 漏洞一般作用在用户可主动触发的敏感业务操作修改账号密码、修改绑定手机号、邮箱后台新增管理员账号转账、支付、积分兑换发布文章、删除帖子、修改个人资料重置密保、修改权限。注意CSRF 不能读取页面内容只能执行操作。如果接口是查询类接口查询订单、查询个人信息就算存在 CSRF攻击意义很小攻击者拿不到返回数据。CSRF 高危场景全部是写操作接口修改、新增、删除类业务。1.7 CSRF 代码审计寻找漏洞点审计思路寻找敏感操作接口查看鉴权方式。PHP 示例存在 CSRF 漏洞的代码?php session_start(); if(!isset($_SESSION[user])){ exit(未登录); } $email $_GET[email]; // 更新数据库修改邮箱 mysql_query(update user set email$email where id.$_SESSION[uid]); echo 修改成功; ?这段代码只判断 session依靠 Cookie 维持 session没有校验 token存在 CSRF 漏洞。安全修复后的代码增加 CSRF Token 校验?php session_start(); if(!isset($_SESSION[user])){ exit(未登录); } // 校验前端提交token和session中存储token是否一致 if($_POST[csrf_token] ! $_SESSION[csrf_token]){ exit(非法请求); } $email $_POST[email]; mysql_query(update user set email$email where id.$_SESSION[uid]); ?审计要点新增、修改、删除接口检查是否携带随机 CSRF Token检查 Cookie 的 SameSite 属性配置敏感接口是否使用 GET 请求是否存在二次验证短信验证码、密码确认。1.8 CSRF 漏洞的防御方案方案 1CSRF Token最主流、最可靠核心逻辑服务器生成随机 Token存入 session前端页面表单 / 请求头携带这个 Token。每次提交请求服务器校验提交的 Token 是否和 session 内 Token 一致。攻击者无法获取受害者 session 内的随机 Token无法构造合法请求。注意Token 必须每次请求随机不能固定不能放在 Cookie 里面。方案 2Cookie SameSite 属性Cookie 设置SameSiteLax或者SameSiteStrict。SameSiteStrict跨站场景下完全不携带 Cookie。SameSiteLax大部分跨站场景不携带 Cookie仅部分 GET 导航例外。SameSiteNone跨站请求自动携带 Cookie不设置 SameSite 默认会有风险。局限依赖浏览器支持属于浏览器层面防护不能单独作为唯一防御手段建议搭配 CSRF Token。方案 3敏感操作增加二次验证修改密码、转账等高危操作增加密码二次确认、短信验证码、邮箱验证码。就算 CSRF 伪造请求没有验证码无法完成操作。方案 4敏感操作禁止使用 GET 请求所有写操作接口统一使用 POST/PUTGET 仅用于查询。这是降低利用难度不是根治漏洞。方案 5校验请求来源 Referer校验 HTTP 请求头 Referer判断请求来源域名是否为可信域名。缺点Referer 可以被部分场景下删除、绕过不推荐作为唯一防御。防御优先级CSRF Token 二次验证码 SameSite Cookie Referer 校验。2 SSRF 服务器端请求伪造原理详解2.1 SSRF 核心概念SSRFServer-Side Request Forgery服务器端请求伪造。通俗理解攻击者控制目标服务器让服务器作为代理跳板代替攻击者去发起网络请求。Web 应用从用户输入获取一个 URL服务器后端程序去访问这个 URL读取资源并返回。攻击者恶意构造 URL让服务器访问内网地址、本地地址、其他服务地址。请求发起者是服务器不是浏览器。攻击者不直接发起请求欺骗后端服务器去发起请求。举生活化例子网站有一个图片预览功能用户输入图片 URL服务器后端去下载图片展示预览。攻击者输入内网地址http://127.0.0.1:3306服务器去访问本机 3306 端口探测端口是否开放。攻击者通过返回结果获取内网信息。2.2 SSRF 漏洞产生根本原因漏洞根源服务器端代码接收用户可控输入作为请求地址后端主动发起网络请求没有严格校验目标地址没有做白名单限制。产生 SSRF 需要满足条件Web 服务存在功能接收用户输入的 URL / 地址后端服务器会主动发起网络请求去访问这个地址后端没有对请求目标 IP、协议、端口做严格过滤服务器拥有访问内网、本地回环地址的网络权限。关键点请求是服务器发起服务器处于内网边界通常可以访问内网资产这是 SSRF 最大的价值。攻击者无法直接访问内网但是可以利用服务器作为跳板。2.3 SSRF 完整攻击链路Web 网站提供功能输入 URL服务器去拉取这个 URL 资源图片下载、预览、远程资源加载攻击者提交恶意地址例如http://127.0.0.1:8080**后端服务器不是浏览器**发起网络请求访问 127.0.0.1:8080内网服务收到来自服务器的请求返回响应服务器将响应内容返回给攻击者回显型 SSRF攻击者拿到内网服务响应完成内网探测、端口扫描、读取文件等攻击。重点区分请求发起主体是后端服务器不是受害者浏览器。整个攻击过程不需要受害者登录不需要 Cookie。攻击者直接提交恶意参数给 Web 接口。2.4 SSRF 漏洞分类回显型 SSRF / 盲 SSRF2.4.1 回显型 SSRF服务器发起请求之后会把目标地址返回的内容直接返回给前端。攻击者可以直接看到请求结果。场景图片预览返回图片内容远程页面抓取返回页面源码。利用难度最低直接获取内网服务返回内容。2.4.2 盲 SSRF无回显 SSRF服务器发起请求但是不会把目标地址响应返回给攻击者。没有直接返回内容。此时无法直接读取响应需要依靠**外带平台DNSlog、HTTPlog**判断请求是否成功。判断依据观察是否有 DNS 解析记录、HTTP 访问记录间接判断内网端口是否开放服务是否存在。盲 SSRF 经常用于内网存活主机探测、端口扫描。2.5 SSRF 常见协议、伪协议利用方式很多 SSRF 库支持多种协议不只是 http/https 协议。http:///https://访问内网 Web 服务获取页面内容端口探测file://读取服务器本地文件file:///etc/passwdLinux、file://C:/windows/win.iniWindowsdict://dict 协议探测端口读取部分服务信息gopher://非常强大可以构造任意 TCP 数据流访问 Redis、Memcache 等服务执行命令、写入后门ftp://访问 ftp 服务。限制很多现代语言库会做协议限制禁用 gopher、file 等协议需要看后端使用的库。例如 Python requests 库默认只支持 http/https。SSRF 常见绕过很多开发会简单过滤127.0.0.1、localhost存在大量绕过手段IP 进制转换127.0.0.1 的八进制、十六进制、十进制写法域名解析域名 A 记录解析到 127.0.0.1短链接跳转端口号、URL 编码、IPv6 地址等。注意绕过手段依赖后端代码的过滤逻辑不同环境绕过方式不同。2.6 SSRF 攻击场景与内网探测、端口扫描、文件读取SSRF 的攻击目标不是网站的用户账号而是服务器可访问的其他资源。典型攻击场景内网端口扫描遍历内网网段探测内网主机存活、端口开放情况访问内网 Web 应用访问内网管理后台、未授权内网服务获取内网页面信息读取服务器本地文件file 协议读取服务器本地敏感文件攻击内网应用Redis、Memcache、Elasticsearch 等无认证内网服务利用 gopher 协议写入数据、执行命令访问云服务元数据接口阿里云、腾讯云等云主机元数据地址获取服务器密钥、凭证获取云服务器权限SSRF 经典高危场景请求伪造攻击其他外部站点以服务器 IP 身份对外发起请求。SSRF 攻击对象内网主机、本地服务、云元数据不是用户浏览器。2.7 SSRF 代码审计寻找漏洞点审计核心寻找后端代码中接收用户输入 URL并且后端发起网络请求的代码。Python 存在 SSRF 漏洞示例requests 库import requests url request.args.get(remote_url) res requests.get(url) return res.text用户传入 remote_url 参数直接传入 requests.get没有 IP、协议过滤存在 SSRF。简单修复示例增加 IP 黑名单禁止访问内网、回环地址限制协议为 http/https。import ipaddress import requests url request.args.get(remote_url) # 解析域名IP判断是否内网/回环IP # 白名单限制目标域名仅允许访问指定外部域名 parsed urlparse(url) if parsed.scheme not in [http,https]: return 非法协议 # 解析IP判断是否内网IP拦截 res requests.get(url) return res.text审计重点图片下载、远程内容抓取、URL 预览、远程资源导入这类功能后端使用 requests、curl、file_get_contents、HttpClient 等发起网络请求的函数是否校验目标 IP、协议、端口是否使用黑名单过滤黑名单极易绕过推荐白名单。2.8 SSRF 漏洞的防御方案SSRF 防御核心原则白名单优先黑名单不可靠。协议白名单仅允许 http、https 协议禁用 file、gopher、dict、ftp 等危险协议目标地址白名单只允许访问业务需要的可信域名 / IP拒绝所有其他地址。白名单是最安全方案若无法白名单则做 IP 黑名单拦截回环地址 127.0.0.0/8、内网网段10.0.0.0/8172.16.0.0/12192.168.0.0/16、云元数据 IP限制请求端口只允许 80、443 等业务必需端口禁止 22、3306、6379 等高危端口网络层面隔离服务器网络策略限制该 Web 服务器不允许访问内网其他主机禁用重定向跟随很多 SSRF 绕过依靠 302 跳转后端代码禁止自动跟随重定向独立域名解析处理防止 DNS 重绑定攻击。重要提醒黑名单很容易被绕过IP 编码、DNS 重绑定、域名解析等方式绕过黑名单能使用白名单就不要用黑名单。3 CSRF 与 SSRF 核心对比如何快速区分这是全文重点很多面试、漏洞评审的核心考点。下面用多维度对比彻底分清两个漏洞。3.1 攻击主体对比CSRF受害者浏览器发起请求SSRF后端目标服务器发起请求。一句话记CSRF 是浏览器帮攻击者发请求SSRF 是服务器帮攻击者发请求。3.2 请求发起位置对比CSRF客户端浏览器SSRF服务端服务器内部。3.3 身份凭证对比CSRF依赖受害者 Cookie、Session冒用受害者身份必须受害者登录状态SSRF使用 Web 服务器自身网络身份不需要用户 Cookie不需要受害者登录。攻击者直接提交参数到接口。3.4 攻击目标对比CSRF目标网站自身业务接口操作受害者账号执行账号层面的操作改密码、新增管理员SSRF服务器能访问的所有资源内网主机、本地服务、云元数据、其他内网应用。目标不是用户账号是网络资源。3.5 触发条件对比CSRF 触发条件受害者登录目标网站受害者访问攻击者恶意页面目标接口无 CSRF Token 等防护。SSRF 触发条件Web 接口接收用户输入 URL后端服务器主动发起网络请求没有对目标地址做严格校验不需要受害者攻击者直接提交请求即可触发。3.6 经典场景判断题快速区分 CSRF/SSRF场景 1攻击者构造一个页面诱导登录用户访问自动修改用户在 A 网站的密码。 CSRF。浏览器发起请求冒用用户身份操作账号。场景 2网站图片预览功能传入http://127.0.0.1:8080服务器访问本机 8080 端口返回内网页面内容。 SSRF。服务器发起请求访问本地内网资源。场景 3提交 URL后端服务器访问云元数据地址获取云主机密钥。 SSRF。场景 4点击链接后台自动给当前登录账号修改手机号不需要用户输入密码。 CSRF。场景 5攻击者输入内网 Redis 地址后端服务器访问内网 Redis写入恶意数据。 SSRF。场景 6后台管理页面管理员登录后访问恶意链接自动新增管理员账号。 CSRF。快速判断口诀看是谁发请求浏览器发请求、操作账号 → CSRF服务器发请求、访问内网资源 → SSRF。下面表格汇总对比方便记忆对比项CSRFSSRF英文全称Cross-Site Request Forgery 跨站请求伪造Server-Side Request Forgery 服务器端请求伪造请求发起方受害者浏览器目标 Web 服务器身份凭证使用受害者 Cookie/Session使用服务器自身网络身份不需要用户 Cookie攻击目标目标网站业务接口操作用户账号服务器可访问的内网、本地、其他网络资源是否需要受害者登录✅必须登录❌不需要受害者登录攻击者直接提交参数攻击能力只能发起请求执行操作无法读取响应同源策略限制服务器可以拿到目标资源响应可读取内网内容、扫描端口典型利用场景修改密码、转账、新增管理员内网端口扫描、读取本地文件、访问云元数据、攻击内网服务防御核心CSRF Token、SameSite、二次验证白名单域名 / IP、协议过滤、网络隔离4 容易混淆的场景CSRF 结合 SSRF 的复合攻击很多人以为两者互相独立实际业务场景存在组合攻击。场景举例A 网站存在 CSRF 漏洞同时 A 网站存在图片预览功能SSRF 漏洞。攻击者构造恶意页面诱导登录 A 网站的管理员访问。页面利用 CSRF以管理员身份调用图片预览接口传入内网地址。流程管理员登录 A 网站访问攻击者恶意页面浏览器自动发起 CSRF 请求调用 A 网站图片预览接口A 网站后端服务器收到这个请求执行 SSRF访问内网资源。 这个场景CSRF 用来触发 SSRF 功能。攻击者无法直接访问 SSRF 接口接口需要管理员权限利用管理员 CookieCSRF 调用接口再触发 SSRF。这是复合漏洞两个漏洞独立存在协同完成攻击。很多新手会直接判定为 SSRF忽略前置 CSRF或者只看到 CSRF忽略 SSRF 的内网攻击效果。区分要点两个漏洞各司其职。CSRF 解决 “权限问题”冒用管理员身份调用接口SSRF 解决 “内网访问问题”服务器访问内网。5 挖掘思路渗透测试中如何发现 CSRF、SSRF5.1 CSRF 挖掘思路梳理所有敏感操作接口修改密码、修改手机号、新增用户、删除、支付等写接口抓包观察请求鉴权方式是否只依靠 Cookie检查请求中是否存在 CSRF TokenToken 是否随机、每次变化删除 Token 参数重放请求观察接口是否正常执行GET 型接口优先测试构造 URL 直接验证POST 接口构造 HTML 表单测试检查 Cookie SameSite 属性。注意单纯查询接口就算存在 CSRF危害很低优先关注写操作接口。5.2 SSRF 挖掘思路寻找业务功能图片预览、远程图片加载、URL 转二维码、网页摘要抓取、远程资源导入抓包找到 URL 参数尝试传入内网地址 127.0.0.1观察返回结果测试不同协议http、file、gopher测试端口扫描遍历常用端口观察响应时间差异时间延迟判断端口开放盲 SSRF 场景使用 DNSlog 平台传入域名观察是否有 DNS 解析记录尝试 IP 编码、域名跳转测试黑名单绕过。5.3 漏洞报告编写注意点写漏洞报告时很多人写错漏洞类型。浏览器自动请求操作账号 → 漏洞类型CSRF服务器后端访问内网资源 → 漏洞类型SSRF。错误示例把 CSRF 写成 SSRF或者反过来。漏洞评审会直接驳回报告。6 开发视角如何编写安全代码杜绝两类漏洞6.1 CSRF 安全开发规范所有新增、修改、删除、支付等敏感写接口强制添加 CSRF TokenToken 存放于表单 / 请求头不要放在 Cookie敏感操作禁止使用 GET 请求Cookie 设置合理 SameSite 属性高危操作增加二次密码、短信验证码高权限后台接口增加 IP 白名单限制。6.2 SSRF 安全开发规范优先白名单机制只允许访问业务指定域名严格限制协议仅允许 http/https禁止跟随 302 重定向防止绕过拦截内网网段、回环地址、云元数据地址限制请求端口只开放业务必需端口网络层面做防火墙策略Web 服务器禁止访问内网网段对用户输入的 URL做域名解析后再校验 IP防止 DNS 重绑定绕过。7 面试高频问题整理问题 1简述 CSRF 和 SSRF 区别参考答案CSRF 是跨站请求伪造请求由受害者浏览器发起携带受害者 Cookie冒用受害者身份操作网站业务主要针对账号操作SSRF 是服务器端请求伪造请求是后端服务器发起利用服务器网络位置访问内网资源不需要受害者 Cookie。简单区分CSRF 浏览器发请求操作账号SSRF 服务器发请求访问内网。问题 2POST 请求可以防御 CSRF 吗不可以。POST 只是改变请求方法浏览器依然可以跨域提交 POST 表单自动携带 CookiePOST 不能防御 CSRF。问题 3SSRF 为什么能访问内网Web 服务器处于内网边界服务器本身可以访问内网主机。攻击者无法直接访问内网通过控制服务器代替自己发起网络请求实现内网探测。问题 4SSRF 黑名单为什么不安全黑名单只是拦截已知危险 IP存在大量绕过方式IP 进制转换、DNS 重绑定、域名解析到内网 IP、302 跳转黑名单容易被绕过推荐白名单。问题 5CSRF 为什么攻击者无法拿到返回包同源策略限制 JS 读取跨域请求响应。请求可以发送但是 JS 无法读取返回内容所以 CSRF 只能执行操作不能读取页面数据。问题 6CSRF 的 Token 放在 Cookie 里面是否安全不安全。如果 Token 放在 Cookie恶意页面发起跨域请求时 Cookie 会自动携带攻击者可以直接复用这个 Token失去防护效果。Token 必须放在请求参数或者请求头。8 总结CSRF跨站请求伪造、SSRF服务器端请求伪造名字相似但是漏洞本质、攻击链路、攻击目标、防御方案完全不同是 Web 安全里面极易混淆的两个经典漏洞。CSRF 核心浏览器代受害者发起请求冒用用户身份执行业务写操作。攻击对象是网站账号体系依赖受害者登录 Cookie同源策略阻止攻击者读取响应只能执行操作。防御重点是 CSRF Token、二次验证、SameSite Cookie。SSRF 核心后端服务器代替攻击者发起网络请求。利用服务器的网络位置访问内网、本地资源做内网探测、读取本地文件、攻击内网服务不需要受害者参与。防御优先采用域名白名单限制协议、端口网络隔离。快速区分的核心判断逻辑看请求是谁发起攻击目标是什么。浏览器发起、操作账号 → CSRF服务器发起、访问内网资源 → SSRF。在渗透测试、代码审计、漏洞挖掘、CTF 比赛、面试当中分清两者是基础能力。很多新人容易混淆根源是只记住名词没有理清请求发起主体。掌握两者原理之后在漏洞挖掘时可以快速定位漏洞类型正确编写漏洞报告避免漏洞类型判定错误。同时在真实业务开发中两类漏洞都需要提前做好安全编码从源头杜绝。CSRF 重点保护敏感写接口SSRF 重点保护后端发起网络请求的功能做好输入校验和网络访问控制。Web 安全漏洞学习不能只记 Payload一定要理解底层原理。只有理解完整攻击链路才能看懂漏洞边界、限制条件理解防御方案在复杂业务场景中识别变形漏洞包括 CSRFSSRF 的复合攻击场景。如何系统学习网络安全网络安全作为数字时代的核心技术基石已成为保障各行业安全稳定运行的坚实屏障。筑牢网络安全的防线掌握先进的防护策略和技能正上升为国家与企业发展的战略优先级。构建稳固的网络安全能力是一个体系的工程需要从夯实基础理论出发持续深化到攻防对抗与应急响应的实战层面。如果你是准备学习网络安全黑客或者正在学习我可以把我自用的360独家内部资料分享给你包含以下内容你应该能用得上①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】