发帖
 找回密码
 立即注册
搜索
0 0

分享 WEB渗透系统班-CSRF跨站请求伪造(上)+CSRF跨站请求伪造(下)

技术分享 1106 0 2025-9-8 11:12:04
[i=s] 本帖最后由 zeke 于 2025-9-8 11:12 编辑 [/i]

WEB渗透测试工程师系统班250303期
第34节课作业
1、CSRF漏洞原理是什么?
CSRF(Cross-Site Request Forgery),中文全称是“跨站请求伪造”。它的核心原理可以概括为一句话:

攻击者欺骗用户的浏览器,让其以用户的名义(在用户已登录目标网站的情况下)向一个目标网站发送一个恶意请求。

这个请求会携带用户浏览器中自动保存的Cookie等身份凭证,因此目标网站会认为这是用户本人发起的合法操作,从而执行该请求所定义的命令。

CSRF漏洞的本质是 “信任浏览器保存的凭证,而不验证请求本身的来源” 。

2、CSRF漏洞攻击分类及解释?

①.GET型CSRF
原理: 利用<img>, <iframe>, <script>, <link> 等标签的src属性,或者直接使用一个恶意链接(<a>),来发起一个GET请求。因为GET请求本应用于获取资源,而不应修改数据,但如果后端服务器错误地使用GET请求来处理状态变更(如转账、修改密码、删除文章),就会导致此类漏洞。
特点:
构造简单:只需一个URL。
更容易诱导:用户甚至不需要点击,只需访问一个包含恶意图片的页面,浏览器就会自动发起请求。
②.POST型CSRF
原理: 许多重要的操作(如登录、转账)通常要求使用POST请求提交数据。攻击者需要构造一个隐藏的表单,并通过JavaScript(如body.onload事件)或诱使用户点击一个“按钮”来自动提交这个表单,从而发起一个POST请求。
特点:
构造稍复杂:需要创建一个表单和自动提交脚本。
更具欺骗性:可以伪造任何形式的POST数据。

3、实操DVWA靶场CSRF漏洞过程截图。
站内利用
第一步:攻击者修改密码并保存url
34.1.png

第二步:将url发送给受害者,受害者进行访问
34.2.png

第三步:受害者的信息被攻击者修改,密码改为攻击者修改的密码
34.3.png

站外利用
受害者直接访问外部链接
34.4.png
34.5.png
该网站的内容为恶意木马,如下,跳转的链接是攻击者自定义的链接,且通过js自动跳转,将受害者密码改为404404
34.6.png

4、CSRF 和 XSS有什么区别?

CSRF (跨站请求伪造)

  1. 中文全称​:跨站请求伪造
  2. 攻击目标​:利用用户的登录状态,欺骗网站执行非本意的操作(目标是​网站​)。
  3. 攻击原理​:攻击者伪造一个请求,然后诱骗已登录的用户通过浏览器去发送这个请求。因为请求自带用户的合法Cookie,网站会认为是用户本人操作。
  4. 信任关系​:利用的是网站对用户浏览器的信任(网站相信带有正确Cookie的请求是用户自己发的)。
  5. 必要前提​:用户必须已经登录目标网站,并且会话(Session)尚未过期。
  6. 攻击载体​:恶意请求通常隐藏在另一个第三方网站里,用户需要被诱导访问这个恶意网站。
  7. 能做什么​:以用户身份执行特定功能,例如:
    • 资金转账
    • 修改密码、邮箱
    • 发送伪造的邮件或消息
    • 购买商品
    • 添加、修改或删除数据
  8. 核心防御措施​:
    • CSRF Token​:为每个会话或请求生成一个随机的、不可预测的令牌(Token),服务器验证其有效性。
    • 验证 HTTP Referer/Origin 头​:检查请求是否来自同源域名。
    • SameSite Cookie​:将Cookie的SameSite属性设置为StrictLax,禁止跨站请求发送Cookie。

XSS (跨站脚本攻击)

  1. 中文全称​:跨站脚本攻击
  2. 攻击目标​:向网站注入恶意脚本,攻击其他访问该网站的用户(目标是​用户​)。
  3. 攻击原理​:攻击者发现网站有输入漏洞,将恶意脚本代码注入到网页中。当其他用户浏览该网页时,恶意代码会在他们的浏览器中​执行​。
  4. 信任关系​:利用的是用户对网站的信任(用户相信访问的网站是安全的,会执行其返回的合法脚本)。
  5. 必要前提​:网站存在漏洞,未对用户输入进行过滤或转义,导致输入内容被当作代码执行。
  6. 攻击载体​:恶意代码被​存储在目标网站本身​(如评论区、留言板),或通过URL参数反射给用户。
  7. 能做什么​:
    • 窃取用户的Cookie、会话令牌
    • 发起任意请求(相当于结合了CSRF的能力)
    • 键盘记录
    • 篡改网页内容
    • 将用户重定向到恶意网站
  8. 核心防御措施​:
    • 输入验证和过滤​:对用户输入进行严格的检查和控制。
    • 输出编码​:在将数据输出到页面时,根据上下文(HTML, JavaScript, URL)进行转义。
    • ​**内容安全策略 (CSP)**​:通过HTTP头告诉浏览器只允许执行来自可信源的脚本。

核心区别

  • 目标不同​:
    • XSS 的目标是​用户​,旨在窃取用户数据或冒充用户。
    • CSRF 的目标是​网站​,旨在冒充用户执行操作。
  • 原理不同​:
    • XSS 是让网站在用户的浏览器上​执行攻击者提供的恶意代码​。
    • CSRF 是让用户的浏览器向网站​发送攻击者伪造的恶意请求​。
  • 信任基础不同​:
    • XSS 利用了​用户对网站的信任​(“这个网站是安全的,所以它返回的脚本可以执行”)。
    • CSRF 利用了​网站对用户浏览器的信任​(“这个请求带着正确的Cookie,所以一定是用户自己发的”)。

5、复现课堂内cms的CSRF漏洞案例
dedecms:
①登录管理员,在新建文件夹中进行抓包,删掉referer头
如果可以新建,表明有较大可能存在CSRF漏洞
34.7.png

②带有恶意代码的1.php被新建出来了,较大可能存在CSRF漏洞
34.8.png

站外利用:
①抓一个新建存在恶意代码文件的包,在yakit里复制CSRF的POC,在小皮新建一个html文件,放入该POC并保存
②受害者直接访问恶意链接
34.9.png
③该木马文件成功新建
34.10.png
注:受害者得登录上账号才有用,否则无法借助受害者的权限

一、笔记标题:WEB渗透系统班-CSRF跨站请求伪造(上)+CSRF跨站请求伪造(下)

二、文章内容:
1.课程内容概要
主要知识点1:CSRF漏洞原理
主要知识点2:CSRF漏洞复现
主要知识点3:CSRF和XSS漏洞的区别

2.重点知识与细节
概念解析
概念1:对比referer和host,为什么能得出是否存在CSRF攻击。

HTTP Referer 和 Host 头部的含义

Host 请求头:
它指明了请求的目标是哪个域名(或IP和端口)。
例如,当请求发送到 https://bank.com/transfer 时,Host 头的值就是 bank.com。
这个头是由浏览器自动添加的,指向请求要发送到的服务器。

Referer 请求头 (注意:Referer是拼写错误,但已成为标准):
它指明了这个请求是从哪个页面链接或发起的,即请求的来源页面的URL。
例如,如果你在 https://bank.com/dashboard 页面上点击了一个按钮发起了转账请求,那么这个请求的 Referer 头就是 https://bank.com/dashboard。
如果你在恶意网站 https://evil.com 上通过一个表单或图片发起了请求,那么这个请求的 Referer 头就是 https://evil.com。

一个合法的、由用户在本站内发起的请求,其 Referer 头中的域名,必须与 Host 头中的域名一致(或属于同一个主域)。
而一个来自第三方恶意网站的CSRF攻击请求,其 Referer 头会暴露出恶意的来源。
“比对Referer和Host是否一致”,其本质是:检查这个请求的“出生地”(来源域名)和它的“目的地”(目标域名)是否属于同一个“国家”(同一个网站)。如果是,就是良民;如果不是,就极可能是敌人派来的间谍。

概念2:
关键步骤(CSRF攻击步骤)
步骤1:攻击者寻找目标并构造恶意请求
步骤2:诱骗受害者访问恶意内容
步骤3:受害者触发请求
步骤4:服务器处理并执行请求
步骤5:攻击完成

相关代码:无

3.实操练习和解析

如作业

4.个人总结
本节课最大的收获是:学会了CSRF攻击,以及记住了CSRF攻击的原理
仍然存在疑问的地方:无
需要课后深入学习的内容:暂无

──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回