渗透测试之什么叫CSRF【跨站脚本伪造】攻击手法OR防御手简单教会你玩玩钓鱼手法 文章目录什么是 CSRFCSRF 的别称与特性CSRF 与现实生活的关联CSRF 的危害CSRF 如何实现CSRF 的基本原理CSRF 与其他概念的区别与 XSS 的区别与越权问题的区别CSRF 攻击的实现步骤文字举例CSRF 攻击流程CSRF 的技术细节知识点总结CSRF分为两种类型1. 站内 CSRF 攻击Same-origin CSRF案例2. 站外 CSRF 攻击Cross-origin CSRF案例检测行为CSRF 攻击侧重点简单得CSRF举例什么是 CSRFCSRFCross-Site Request Forgery跨站请求伪造是一种网络攻击方式。虽然名称中包含“跨站”但它与 XSS跨站脚本攻击完全不同。XSS 利用网站对用户输入的不当处理攻击站内的信任用户而 CSRF 则是通过伪装成受信任用户向受信任的网站发送恶意请求。由于这种攻击利用了用户已有的认证状态例如 Cookie使得网站难以区分合法请求与伪造请求因此防范起来具有一定难度。相比之下CSRF 通常被认为比 XSS 更具隐蔽性和危险性。CSRF 的别称与特性CSRF 有时也被称为“蠕虫攻击”因为某些恶意脚本可能通过用户不知情的情况下自我传播。在特定场景下CSRF 还可能被用于刷 SEO 流量例如通过伪造请求增加页面访问量。攻击的核心在于利用受害者的身份认证信息如 Cookie 中的会话标识在用户无感知的情况下执行恶意操作。CSRF 与现实生活的关联CSRF 的原理与现实中的一些诈骗行为有相似之处。例如电信诈骗中常提醒我们不要随意扫描不明二维码因为二维码可能链接到恶意网站。一旦用户在已登录的状态下访问这些网站攻击者可能通过 CSRF 获取用户的敏感信息如 Cookie、Session 数据甚至键盘操作记录、用户名和密码等进而导致财产损失。这种行为也被称为“钓鱼攻击”Phishing尽管钓鱼攻击的范围更广而 CSRF 是其技术实现手段之一。CSRF 的危害财产损失攻击者可能伪造转账请求、购物请求等导致用户资金被盗。隐私泄露敏感信息被窃取后可能被用于进一步的攻击。难以察觉由于攻击利用的是用户已有的认证状态用户和网站都可能毫无察觉。CSRF 如何实现CSRF 的基本原理CSRF跨站请求伪造是一种攻击方式其核心在于攻击者利用目标用户的身份以目标用户的名义执行非法操作。攻击者通过伪装成合法用户向受信任的网站发送恶意请求利用用户已有的认证状态如 Cookie完成攻击。由于这种攻击依赖用户无意中的触发行为通常被称为“One Click” 攻击点击攻击。CSRF 与其他概念的区别与 XSS 的区别很多人容易将 CSRF 与 XSS跨站脚本攻击混淆。XSS 是通过注入恶意脚本直接攻击用户而 CSRF 是利用用户的认证状态攻击网站二者的目标和实现方式完全不同。与越权问题的区别越权问题是指用户通过合法身份执行超出权限的操作而 CSRF 是伪造用户身份发起请求二者原理不同。对这些概念的混淆往往源于对 CSRF 原理理解不清。CSRF 攻击的实现步骤CSRF 的攻击场景通常需要用户在不知情的情况下触发恶意请求。以下是具体的实现过程伪造请求攻击者构造一个恶意请求通常是一个链接、图片标签或表单该请求指向目标网站如银行转账页面。诱导用户触发攻击者通过社交工程如钓鱼邮件、恶意网站欺骗用户点击链接或访问包含恶意代码的页面。利用用户认证如果用户已在目标网站登录其浏览器会自动携带相关认证信息如 Cookie发送请求。攻击完成目标网站无法区分这是伪造请求还是合法请求因此会以用户的权限执行操作。文字举例CSRF 攻击流程以下是一个典型的 CSRF 攻击场景用户 C 打开浏览器访问受信任网站 A输入用户名和密码请求登录。网站 A 验证用户信息后生成 Cookie 并返回给浏览器用户 C 成功登录可以正常操作网站 A。在未退出网站 A 的情况下用户 C 在同一浏览器中打开一个新标签页访问恶意网站 B。网站 B 返回带有攻击性代码的页面并发出伪装请求要求访问网站 A例如转账操作。浏览器根据网站 B 的指示在用户 C 不知情的情况下携带 Cookie 向网站 A 发送请求。网站 A 误以为这是用户 C 的合法操作根据 Cookie 权限执行请求导致恶意代码生效。CSRF 的技术细节请求类型CSRF 通常利用 GET 或 POST 请求。GET 请求可通过伪装成图片如恶意链接触发而 POST 请求则需结合表单或 JavaScript 自动提交。隐蔽性攻击者可能将恶意请求隐藏在看似无害的元素中如图片、按钮增加用户触发概率。依赖条件CSRF 攻击成功的条件包括用户已在目标网站登录且会话未过期。网站未实施有效的 CSRF 防护如 Token 验证。用户被诱导触发恶意请求。知识点总结定义CSRF 是利用用户身份伪造请求的攻击方式依赖用户触发。别称也叫 “One Click” 攻击强调其点击触发的特性。与 XSS 区别XSS 攻击用户CSRF 攻击网站。与越权区别CSRF 是伪造身份越权是滥用权限。实现方式伪造请求 → 诱导点击 → 利用认证 → 执行操作。攻击条件用户已登录、网站无防护、用户触发请求。防范措施CSRF Token、SameSite Cookie、Referer 验证等。CSRF分为两种类型1. 站内 CSRF 攻击Same-origin CSRF站内 CSRF 攻击是指攻击者通过伪造用户的请求在用户已经登录的同一站点内执行恶意操作。攻击者利用用户在同一个网站上已认证的身份如登录状态从而伪装成用户向站点提交恶意请求。案例假设一个用户已登录银行网站并且账户中有一定余额。攻击者知道银行站点的账户转账功能是通过 HTTP POST 请求完成的且只需提供转账金额和收款账户信息即可。于是攻击者构造了一个恶意网页页面上隐藏了一个向银行提交转账请求的表单当用户点击页面上的某个链接或按钮时这个恶意请求就会被自动提交因为浏览器会自动带上用户的 Cookie。银行服务器接收到该请求后会认为是用户自己发起的转账请求从而完成恶意转账。2. 站外 CSRF 攻击Cross-origin CSRF站外 CSRF 攻击是指攻击者通过伪造跨域的请求在用户已登录的情况下利用该站点的信任执行恶意操作。攻击者通过自己的站点或其他外部站点嵌入恶意代码诱使用户访问从而触发恶意请求。案例假设用户已经登录了一个社交平台例如 Twitter且浏览器保存了用户的登录 Cookie。攻击者构建了一个恶意网页网页中包含一个图片标签或表单提交指向 Twitter 的某个修改个人资料的 API。当受害者访问攻击者的网页时这个请求会自动发起浏览器会携带用户的登录凭证即 Cookie导致用户的 Twitter 账户资料被修改。检测行为检测 CSRF 攻击通常依赖于分析请求的来源和行为特征以下是常见的检测方法检查 Referer 或 Origin 头部原理合法请求通常来自同一域名而 CSRF 请求可能来自外部恶意网站。通过验证 HTTP 请求头中的 Referer来源页面或 Origin发起域名可以判断请求是否可信。局限某些浏览器可能禁用 Referer或者攻击者可能伪造头部信息。验证 CSRF Token原理网站在每个表单或请求中嵌入一个随机生成的 CSRF Token服务器验证请求是否携带正确 Token。伪造请求无法提前获取 Token因此会被拦截。优点目前最有效的检测和防御手段。分析用户行为原理CSRF 攻击通常是无感知的单次请求而正常用户操作往往伴随连续的页面交互。通过检测请求是否符合用户正常行为模式如缺少前置页面访问可以识别异常。局限需要复杂的日志分析且可能误判。监控异常请求原理观察是否存在大量重复请求、异常来源 IP 或不寻常的操作如大量转账请求这些可能是 CSRF 攻击的迹象。应用适合网站管理员在后台检测。检测验证验证CSRF漏洞是一项比较繁琐的工作最简单的方法就是抓取一个正常请求的数据包去掉Referer字段后再重新提交如果该提交还有效那么基本上可以确定存在CSRF漏洞。工具检测扫描器awvs、appscan bpCSRF 攻击侧重点CSRF 攻击的核心在于利用用户已有的认证状态其侧重点包括以下几个方面利用用户身份重点CSRF 攻击的目标是伪装成合法用户利用用户的 Cookie 或 Session 信息向目标网站发送请求。示例用户登录银行网站后攻击者诱导其触发转账请求网站误以为是用户本人的操作。依赖用户触发重点攻击需要用户主动或无意中触发恶意请求如点击链接、访问页面因此被称为“点击攻击”。示例用户访问恶意网站 B其中的隐藏请求利用用户在网站 A 的登录状态执行操作。针对网站信任机制重点CSRF 攻击利用网站对已认证用户的信任绕过身份验证直接执行敏感操作。示例网站 A 信任用户 C 的 Cookie未额外验证请求来源导致恶意代码生效。隐蔽性与简便性重点攻击者追求隐蔽性通过简单的链接或脚本即可实现不需要直接入侵网站或用户设备。示例一个伪装成图片的请求就能完成攻击用户和网站都难以察觉。简单得CSRF举例常见的我们在网上会下载很多的软件而软件就有很多破解版但是我们很多却不知道破解版都是后期修改过软件参数才能不用破解从而免费使用的但是既然是发布者后期改动了软件代码那么就很有可能加上相关木马从而获取到下载者相关的敏感信息。这个举例我就拿一个压缩包来举例吧。创建一个自解压文件 !有没有解压工具都可以解压 解压的时候自动触发请求京东得请求 但是注意看清楚需要选择创建解压缩格式压缩文件选项。然后选择上方页签高级在选择页面上的自解压文件选项在选择设置在选择解压缩后运行这里就是很关键了哦。解压缩运行 就是解压后自动就运行了相关指令或者访问的网站。那马这样你可以写上jd的地址那么就可以自动解压缩完成后自动就会访问京东网站无法人为组织。那么接着上面的第二点我们思考一个问题如果解压后运行这里的指令我们写上黑客精心构造的请求指令**我们本地的cookie 或者 session 发送给黑客**那么我们本机的信息是不是就泄露了那么从csrf跨站脚本的说法来看是不是就可以从别人的登录令牌冒充登录从而攻击相关网站了这个逻辑看到的小伙伴结合上面解释在好好想想。点击安装 直接访问京东地址其实也就执行解压缩后命令【这个就是黑客精心构造的执行语句看用途】 这种其实就是一种csrf攻击行为。网络安全学习资源分享:给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。因篇幅有限仅展示部分资料朋友们如果有需要全套《网络安全入门进阶学习资源包》请看下方扫描即可前往获取