文章目录
-
-
- 什么是 CSRF?
-
- CSRF 的别称与特性
- CSRF 与现实生活的关联
- CSRF 的危害
- CSRF 如何实现
-
- CSRF 的基本原理
- CSRF 与其他概念的区别
-
- 与 XSS 的区别:
- 与越权问题的区别:
- CSRF 攻击的实现步骤
- 文字举例:CSRF 攻击流程
- CSRF 的技术细节
-
- 知识点总结
- CSRF分为两种类型
-
- 1. 站内 CSRF 攻击(Same-origin CSRF)
-
- 案例:
- 2. 站外 CSRF 攻击(Cross-origin CSRF)
-
- 案例:
- 检测行为
- CSRF 攻击侧重点
- 简单得CSRF举例
- 👉1.成长路线图&学习规划👈
- 👉2.网安入门到进阶视频教程👈
- 👉3.SRC&黑客文档👈
- 👉4.护网行动资料👈
- 👉5.黑客必读书单👈
- 👉6.网络安全岗面试题合集👈
-
什么是 CSRF?
- CSRF(Cross-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 bp
CSRF 攻击侧重点
-
CSRF 攻击的核心在于利用用户已有的认证状态,其侧重点包括以下几个方面:
-
利用用户身份
- 重点:CSRF 攻击的目标是伪装成合法用户,利用用户的 Cookie 或 Session 信息向目标网站发送请求。
- 示例:用户登录银行网站后,攻击者诱导其触发转账请求,网站误以为是用户本人的操作。
-
依赖用户触发
- 重点:攻击需要用户主动或无意中触发恶意请求(如点击链接、访问页面),因此被称为“点击攻击”。
- 示例:用户访问恶意网站 B,其中的隐藏请求利用用户在网站 A 的登录状态执行操作。
-
针对网站信任机制
- 重点:CSRF 攻击利用网站对已认证用户的信任,绕过身份验证,直接执行敏感操作。
- 示例:网站 A 信任用户 C 的 Cookie,未额外验证请求来源,导致恶意代码生效。
-
隐蔽性与简便性
- 重点:攻击者追求隐蔽性,通过简单的链接或脚本即可实现,不需要直接入侵网站或用户设备。
- 示例:一个伪装成图片的请求就能完成攻击,用户和网站都难以察觉。
简单得CSRF举例
常见的我们在网上会下载很多的软件,而软件就有很多破解版,但是我们很多却不知道破解版都是后期修改过软件参数才能不用破解从而免费使用的,但是既然是发布者后期改动了软件代码,那么就很有可能加上相关木马,从而获取到下载者相关的敏感信息。这个举例我就拿一个压缩包来举例吧。
-
创建一个自解压文件 ! 有没有解压工具都可以解压 解压的时候自动触发请求京东得请求 ,但是注意看清楚需要选择创建解压缩格式压缩文件选项。
-
然后选择上方页签高级,在选择页面上的自解压文件选项,在选择设置,在选择解压缩后运行,这里就是很关键了哦。
- 解压缩运行 就是解压后自动就运行了相关指令或者访问的网站。
- 那马这样你可以写上jd的地址,那么就可以自动解压缩完成后自动就会访问京东网站,无法人为组织。
- 那么接着上面的第二点,我们思考一个问题,如果解压后运行这里的指令,我们写上黑客精心构造的请求指令,**我们本地的cookie 或者 session 发送给黑客,**那么我们本机的信息是不是就泄露了,那么从csrf跨站脚本的说法来看,是不是就可以从别人的登录令牌冒充登录从而攻击相关网站了,这个逻辑看到的小伙伴结合上面解释在好好想想。
-
-
点击安装 直接访问京东地址,其实也就执行解压缩后命令【这个就是黑客精心构造的执行语句看用途】 这种其实就是一种csrf攻击行为。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取