CSRF攻击(跨站请求伪造)和防御

CSRF(跨站请求伪造)攻击与防御 文章目录简介攻击流程(简述)防御CSRF 简介 CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性。 你可以这样理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 攻击流程(简述) 前提:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为W 阅读详情

CSRF 简介 

CSRF,全名 Cross Site Request Forgery,跨站请求伪造。很容易将它与 XSS 混淆,对于 CSRF,其两个关键点是跨站点的请求与请求的伪造,由于目标站无 token 或 referer 防御,导致用户的敏感操作的每一个参数都可以被攻击者获知,攻击者即可以伪造一个完全一样的请求以用户的身份达到恶意目的。

CSRF 类型 

按请求类型,可分为 GET 型和 POST 型。

按攻击方式,可分为 HTML CSRF、JSON HiJacking、Flash CSRF 等。

HTML CSRF

利用 HTML 元素发出 CSRF 请求,这是最常见的 CSRF 攻击。

HTML 中能设置 src/href 等链接地址的标签都可以发起一个 GET 请求,如:

<link href="">
<img src="">
<img lowsrc="">
<img dynsrc="">
<meta http-equiv="refresh" content="0; url=">
<iframe src="">
<frame src="">
<script src=""></script>
<bgsound src=""></bgsound>
<embed src=""></bgsound>
<video src=""></video>
<audio src=""></audio>
<a href=""></a>
<table background=""></table>
......

还有 CSS 样式中的:

@import ""
background:url("")
......

也可使用表单来对 POST 型的请求进行伪造。

<form action="http://www.a.com/register" id="register" method="post">
  <input type=text name="username" value="" />
  <input type=password name="password" value="" />
</form>
<script>
  var f = document.getElementById("register");
  f.inputs[0].value = "test";
  f.inputs[1].value = "passwd";
  f.submit();
</script>

Flash CSRF

Flash 也有各种方式可以发起网络请求,包括 POST。

import flash.net.URLRequest;
import flash.system.Security;
var url = new URLRequest("http://target/page");
var param = new URLVariables();
param = "test=123";
url.method = "POST";
url.data = param;
sendToURL(url);
stop();

Flash 中还可以使用 getURL、loadVars 等方式发起请求。

req = new LoadVars();
req.addRequestHeader("foo", "bar");
req.send("http://target/page?v1=123&v2=222", "_blank", "GET");

CSRF 的防御 

验证码 

验证码强制用户必须与应用进行交互,才能完成最终请求。

Referer Check

检查请求是否来自合法的源。但服务器并非什么时候都能取得 Referer。

Token

CSRF 能够攻击成功的本质原因是重要操作的所有参数都可以被攻击者猜测得到。

保持原参数不变,新增一个参数 Token,值是随机的,在实际应用中,Token 可以放在用户的 Session 中,或浏览器的 Cookies 中。

Token 一定要足够随机。此外,Token 的目的不是为了防止重复提交,所以为了使用方便,可以允许在一个用户的有效生命周期内,在 Token 消耗掉之前都使用同一个 Token,但如果用户已经提交了表单,则这个 Token 已经消耗掉,应该重新生成 Token。

Token 还应注意其保密性,如果 Token 出现在 URL 中,则可能会通过 Referer 泄露,应尽量把 Token 放在表单中,把敏感操作由 GET 改为 POST,以表单或 AJAX 的形式提交,避免 Token 泄露。

本文来源:https://ctf-wiki.github.io/ctf-wiki/web/csrf/

【网络安全工程师面试合集】—CSRF跨站请求伪造 攻击及防御 【渗透测试自学系列】—CSRF跨站请求伪造 攻击及防御 阅读详情

相关推荐

告别枯燥的Unity编辑器脚本:Odin插件如何让游戏数据配置变得像搭积木一样简单?

本文详细介绍了Odin插件如何简化Unity编辑器脚本开发,使游戏数据配置变得直观高效。通过声明式特性和丰富的可视化工具,Odin让开发者告别繁琐的OnGUI代码,实现所见即所得的开发体验。文章重点展示了Odin的核心优势、魔法特性及实战案例,帮助Unity开发者提升工作效率。

weixin_28717411的博客 345

保护您的 ASP.NET 应用程序

在上一期中,我讨论了构建 Web 应用程序安全性的重要性,并介绍了包括 SQL 注入和参数篡改在内的一些攻击类型,以及如何防范这些类型的攻击 (msdn.microsoft.com/magazine/hh580736)。 在本文中,我将深入探讨以下两种更常见的攻击,以帮助完善我们的应用程序保护体系:跨站点脚本 (XSS) 和跨站点请求伪造 (CSRF)。 您可能很想知道: 只使用生产安全扫

Lassewang的成长历程 1460

EB Tresos激活失败?3种实用解决方案帮你搞定(含离线激活步骤)

本文针对EB Tresos软件激活失败问题,提供了三种实用的解决方案。详细分析了激活失败的常见根源,并系统阐述了在线环境下的排查步骤、无网环境下的离线激活全流程,以及高级许可证环境修复方法,帮助汽车电子工程师快速恢复开发环境。

milk8的博客 608

「第四章」跨站点请求伪造(CSRF)

「第四章」跨站点请求伪造(CSRF) 批注 [……] 表示他人、自己、网络批注 参考资料来源于 * 书中批注 * 优快云 * GitHub * Google * 维基百科 * YouTube * MDN Web Docs ...

hacckjacking 591

RAG-Anything 实战:构建企业级多模态知识图谱问答系统

本文详细介绍了如何利用RAG-Anything构建企业级多模态知识图谱问答系统,解决跨模态文档处理的痛点。通过架构设计解析、部署实战指南和典型业务场景解决方案,帮助企业实现高效的知识管理和智能检索,提升决策效率。

weixin_29089057的博客 385

【SABRE 3D, SABRE 3DxT,LAM设备】2025年9月13日-安全配置-准备工作

请遵循本规程将SABRE 3D/3DxT/3D Scimitar系统设置为安全配置,以便能够在电镀单元、APT模块、XMM(或SRD)模块、工厂接口(FI)外壳或中央通道内部及周边区域执行作业p104-p117。在生产过程中暂停调度程序存在一定风险:若待维护模块未离线且在其他模块完成处理前重启调度程序,可能对生产晶圆造成影响。维护人员需特别注意电镀模块内的晶圆状态,并尽可能快速地恢复调度程序。确认待维护模块内无晶圆滞留暂停调度程序并将相应模块设置为离线状态打开模块检修门并关闭安全盖板(槽位)

weixin_46735260的博客 1363

一个比较好用的CSRF跨站请求伪造工具类

前言描述:最近项目里,安全测试组发现通过SQL注入可以轻松登录后台管理系统,于是就加了个CSRF跨站请求伪造功能,防止被恶意登录。 以下是代码部分: package com.faw.***.common.xss; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; ...

孔方子的博客 770

python利用IQR方法与3σ方法进行异常值处理(含代码)

python利用IQR方法进行异常值处理

weixin_46713695的博客 2031

跨站请求伪造CSRF

目录原理解释CSRF分类GET型POST型CSRF漏洞挖掘使用burpsuite快速生成CSRF poc防御手段 原理解释 画个丑图来解释一波 1、 用户输入账号信息请求登录A网站。 2、 A网站验证用户信息,通过验证后返回给用户一个cookie 3、 在未退出网站A之前,在同一浏览器中请求了黑客构造的恶意网站B 4、 B网站收到用户请求后返回攻击性代码,构造访问A网站的语句 5、 浏览器收到攻...

whoim_i的博客 5162

模型训练篇 | 手把手教你使用ResNet训练自己数据集和推理,ResNet50通用物体分类识别,含完整代码和数据集,全网最详细教程

手把手教你使用ResNet训练自己数据集和推理,ResNet50通用物体分类识别,含完整代码和数据集,全网最详细教程。本篇文章将带你学习 ResNet50 模型构建、ResNet50训练自己数据集、数据集处理、推理和验证、模型剪枝与模型改进等。 本篇教程适配各种分类识别任务,可以说是一个通用的教程,只需修改自己的数据集即可完成自己领域的任务和系统实现。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 720

刚体转动欧拉方程:从理论到卫星姿态控制的实践

刚体转动欧拉方程是描述刚体旋转运动的基本动力学方程,在卫星姿态控制、机器人学、航空航天等领域有着广泛应用。本文将详细讲解欧拉方程的物理概念、数学推导、数值计算方法,并重点分析其在卫星姿态控制系统中的具体应用。

ScilogyHunter的博客 641

CSRF跨站请求伪造

与XSS经常混淆从信任的角度来区分XSS:利用用户对站点的信任CSRF:利用站点对已经身份认证的信任结合社工在身份认证会话过程中实现攻击修改账号密码、个人信息(email、收货地址)发送伪造的业务请求(网银、购物、投票)关注他人社交账号、推送博文在用户非自愿、不知情的情况下提交请求。...

分享学习网络的点点滴滴 396

Android性能分析深度指南:Perfetto工具全面解析

本文深入探讨Android性能优化工具Perfetto的应用与实践。作为Google推出的新一代追踪系统,Perfetto整合了CPU调度、内存分配、电池状态等多维度分析功能,通过高性能数据处理和可视化界面帮助开发者定位性能瓶颈。文章系统介绍了Perfetto的架构原理、配置方法和核心功能,包括CPU性能分析、内存泄漏检测等关键技术。通过电商应用卡顿优化的实战案例,展示了如何利用数学建模(如帧时间公式$T_{\text{render}}\leq16.67\text{ms}$)指导性能调优。

郑伟强dev的专栏 144

CSRF跨站请求伪造攻击及防御

产品的安全性,是第一位的。在之前工作中,坏人曾使用CSRF(cross-site request forgery)进行过恶意攻击,今天来聊一下CSRF攻击及防御。顺便提醒大家: 1.遇到不明链接,不要随意乱点。 2. 在登录银行网站后,要记得退出登录,而不是直接关闭网页。

认知 行动 坚持 3623

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

网络安全-跨站请求伪造(CSRF)的原理、攻击及防御

目录 简介 原理 举例 漏洞发现 链接及请求伪造 CSRF攻击 不同浏览器 未登录状态 登录状态 代码查看 防御 用户 供应商(程序员) 简介 跨站请求伪造(Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF .

关注网络安全、云原生安全 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

跨站请求伪造(CSRF)攻击:解析与防御策略

CSRF攻击发生在当一个恶意网站或链接诱使已登录特定应用的用户点击时,用户的浏览器会自动携带相应的Cookie发送到服务器,导致在用户不知情的情况下执行了恶意请求。这种攻击通常针对敏感操作,如转账、更改密码或提交表单等,因为这些操作往往不需要再次验证用户身份。跨站请求伪造(CSRF)攻击是Web开发中不容忽视的安全隐患。通过理解其原理并采取有效的防御措施,我们可以大大降低被攻击的风险。前端开发者应当熟悉CSRF防御策略,并在实际工作中积极应用,以保护用户数据的安全。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1113

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

跨站请求伪造(CSRF)攻击及其防御措施

跨站请求伪造(CSRF)是一种严重的安全漏洞,会危及网络应用。它诱使用户执行他们并不打算执行的操作,从而导致网站上出现未经授权的操作。

qq_44005305的博客 929

CSRF(跨站请求伪造)攻击详解与防御指南

CSRF(Cross-Site Request Forgery,跨站请求伪造) 是一种攻击方式,攻击者诱导受害用户在已登录目标网站的情况下,向目标网站发起非本意的请求,从而在受害者不知情的情况下完成恶意操作(如转账、改邮箱、改密码等)。

2201_75445650的博客 838

跨站请求伪造(CSRF)攻击是什么?如何防御?

我是前端西瓜哥,今天来学习 CSRF。CSRF,跨站请求伪造,英文全称为 Cross-site request forgery。也可称为 XSRF。CSRF 攻击。当我们成功登录一个网站时,其实浏览器在这个网站域名下保存好了,通常通过 cookies 保存。登录后,我们的在当前域名下发起请求就会带上 cookie,服务器就通过它来确定你对应哪个用户,允许你去执行一些涉及到个人隐私的操作。浏览器的一个机制:访问了一个 url,会带上对应域名的 Cookies,这就给了 CSRF 可乘之机。...

fe_watermelon的博客 2482

如何防御跨站请求伪造(CSRF)攻击?

这种方法也是使用 token 并进行验证,这里并不是把 token 以参数的形式置于 HTTP 请求之中,而是把它放到 HTTP 头中自定义的属性里。

Innocence_0的博客 885

跨站请求伪造(CSRF)攻击:原理、案例分析与防御策略

多层次的综合防御策略,包括使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie,是防范CSRF攻击的关键。CSRF攻击的核心在于利用用户已经登录的身份,向目标网站发送恶意请求。攻击者通过构造恶意的GET请求,诱使用户点击链接或访问恶意网站,从而在用户不知情的情况下执行恶意操作。攻击者通过构造恶意的表单提交,诱使用户点击按钮或自动提交表单,从而在用户不知情的情况下执行恶意操作。在每个敏感操作的表单或请求中包含一个的CSRF令牌,服务器在接收到请求时验证该令牌,请求的合法性。

m0_61532714的博客 3324

安全架构-CSRF跨站点请求伪造攻击与防御

安全架构-CSRF 文章目录安全架构-CSRF前言一、CSRF是什么?二、攻击原理及过程1.主要步骤2.攻击实例3.CSRF漏洞检测三、防御(1)验证 HTTP Referer 字段(2)在请求地址中添加 token 并验证(3)在 HTTP 头中自定义属性并验证(4)在 关键操作步骤中使用验证码总结 前言 安全架构系列知识会不断更新扩展。安全意识和安全技术手段,是开发人员和架构师必不可少的,在实际工作中要时刻注意功能安全,设计安全,有完整的安全架构知识。 一、CSRF是什么? CSRF跨站点请求

ctotalk 8408

CSRF攻击与防御:跨站点请求伪造

CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。如下:其中Web A为...

崔向阳@李晓的博客 559

跨站请求伪造(CSRF)攻击与防御原理

跨站请求伪造(Cross Site Request Forgery,CSRF)是一种攻击,它强制浏览器客户端用户在当前对其进行身份验证后的Web 应用程序上执行非本意操作的攻击,攻击的重点在于更改状态的请求,而不是盗取数据,因为攻击者无法查看伪造请求的响应。借助于社工的一些帮助,例如,通过电子邮件或聊天发送链接,攻击者可以诱骗用户执行攻击者选择的操作。如果受害者是普通用户,则成功的CSRF 攻击可以强制用户执行更改状态的请求,例如转移资金、修改密码等操作。

weixin_58954236的博客 1863

CSRF(跨站请求伪造)的攻击、防御与挖掘

*本文作者:jerrybird,转载自FreeBuf.COM 最近小白的我海投,面试玩一下,结果栽倒了CSRF上。 CSRF——————跨站请求伪造 知识要点: 浏览器发送请求的特性 Cookie与session 0×01 攻击篇 正常用户:userA 存在CSRF漏洞的网站:siteA 恶意用户:userB 恶意网战:siteB 1. 先聊一聊cookie 通...

猪肉炖白菜 319

一文读懂跨站请求伪造(CSRF)攻击及防御--安全基础系列

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

HUANGXIN9898的博客 956
上一篇: XXE(XML实体注入)攻击介绍与防御
下一篇: SSRF(服务端请求伪造)
han_code
博客等级 码龄9年 5粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值