CSRF攻击原理解析

深入解析CSRF攻击原理、实战演练与多层防御策略 跨站请求伪造(CSRF)是一种利用Web应用对用户浏览器的信任机制发起的攻击。其核心原理在于,当用户已登录目标网站并保持会话状态时,攻击者可以诱导用户访问恶意页面,该页面会利用浏览器自动携带Cookie的特性,向目标网站发起伪造的请求,从而以用户身份执行非授权操作。这种攻击之所以危险,是因为它利用了Web基础架构中会话管理的固有设计,使得攻击过程对用户透明,难以察觉。从技术价值看,理解CSRF攻击有助于开发者从根本上构建更安全的用户状态管理机制,避免因信任过度而导致的数据篡改、资金转移等严重业务风险。在应用 阅读详情

|=——————————————————————=|
|=————–=[ CSRF攻击原理解析 ]=——————=|
|=——————————————————————=|
|=——————-=[ By rayh4c ]=————————=|
|=————-=[ rayh4c@80sec.com ]=——————-=|
|=——————————————————————=|

Author: rayh4c [80sec]
EMail: rayh4c#80sec.com
Site: http://www.80sec.com
Date: 2008-9-21

0×00. 前言

在Web程序中普通用户一般只在Web界面里完成他想要的操作,Web程序接受的正常客户端请求一般来自用户的点击链接和表单提交等行为,可是恶意攻击者却可以依靠脚本和浏览器的安全缺陷来劫持客户端会话、伪造客户端请求。


0×01. CSRF攻击分类

CSRF是伪造客户端请求的一种攻击,CSRF的英文全称是Cross Site Request Forgery,字面上的意思是跨站点伪造请求。这种攻击方式是国外的安全人员于2000年提出,国内直到06年初才被关注,早期我们团队的剑心使用过CSRF攻击实现了DVBBS后台的SQL注射,同时网上也出现过动易后台管理员添加的CSRF漏洞等,08年CSRF攻击方式开始在BLOG、SNS等大型社区类网站的脚本蠕虫中使用。

CSRF的定义是强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。CSRF漏洞的攻击一般分为站内和站外两种类型:

CSRF站内类型的漏洞在一定程度上是由于程序员滥用$_REQUEST类变量造成的,一些敏感的操作本来是要求用户从表单提交发起POST请求传参给程序,但是由于使用了$_REQUEST等变量,程序也接收GET请求传参,这样就给攻击者使用CSRF攻击创造了条件,一般攻击者只要把预测好的请求参数放在站内一个贴子或者留言的图片链接里,受害者浏览了这样的页面就会被强迫发起请求。

CSRF站外类型的漏洞其实就是传统意义上的外部提交数据问题,一般程序员会考虑给一些留言评论等的表单加上水印以防止SPAM问题,但是为了用户的体验性,一些操作可能没有做任何限制,所以攻击者可以先预测好请求的参数,在站外的Web页面里编写javascript脚本伪造文件请求或和自动提交的表单来实现GET、POST请求,用户在会话状态下点击链接访问站外的Web页面,客户端就被强迫发起请求。

0×02. 浏览器的安全缺陷

现在的Web应用程序几乎都是使用Cookie来识别用户身份以及保存会话状态,但是所有的浏览器在最初加入Cookie功能时并没有考虑安全因素,从WEB页面产生的文件请求都会带上COOKIE,如下图所示,Web页面中的一个正常的图片所产生的请求也会带上COOKIE:

<img src=”http://website/logo.jpg”>

↓

GET http://website.com/log.jpg
Cookie: session_id
客户端 ——————————————————-服务器

浏览器的这种安全缺陷给CSRF漏洞的攻击创造了最基本的条件,因为Web页面中的任意文件请求都会带上COOKIE,所以我们将文件地址替换为一个链接的话,用户访问Web页面就相当于会话状态下自动点击了链接,而且带有SRC属性具有文件请求的HTML标签,如图片、FLASH、音乐等相关的应用都会产生伪造GET请求的CSRF安全问题。一个web应用程序可能会因为最基本的渲染页面的HTML标签应用,而导致程序里所有的GET类型传参都不可靠。

0×03. 浏览器的会话安全特性

参照Set-Cookie的标准格式,现今浏览器支持的cookie实际上分为两种形式:

Set-Cookie: <name>=<value>[; <name>=<value>] [; expires=<date>][; domain=<domain_name>] [; path=<some_path>][; secure][; HttpOnly]

一种是内存COOKIE,在没有设定COOKIE值的expires参数 ,也就是没有设置COOKIE的失效时间情况下,这个COOKIE在关闭浏览器后将失效,并且不会保存在本地。另外一种是本地保存COOKIE,也就是设置了expires参数,COOKIE的值指定了失效时间,那么这个COOKIE会保存在本地,关闭浏览器后再访问网站,在COOKIE有效时间内所有的请求都会带上这个本地保存COOKIE。

Internet Explorer有一个隐私报告功能,其实这是一个安全功能,它会阻挡所有的第三方COOKIE,比如A域Web页面嵌入了B域的文件,客户端浏览器访问了A域的Web页面后对B域所发起的文件请求所带上的COOKIE会被IE拦截。除开文件请求情况,A域的Web页面如果使用IFRAME帧包含B域的Web页面,访问A域的Web页面后,B域的Web页面里的所有请求包括文件请求带上的COOKIE同样会被IE拦截。不过Internet Explorer的这个安全功能有两个特性,一是不会拦截内存COOKIE,二是在网站设置了P3P头的情况下,会允许跨域访问COOKIE,隐私报告功能就不会起作用了。

所以在Internet Explorer的这个安全特性的前提下,攻击者要进行站外的CSRF攻击使用文件请求来伪造GET请求的话,受害者必须在使用内存COOKIE也就是没有保存登陆的会话状态下才可能成功。而Firefox浏览器并没有考虑使用这样的功能,站外的CSRF攻击完全没有限制。

0×04. 关于Javascript劫持技术

近年来的web程序频繁使用Ajax技术,JSON也开始取代XML做为AJAX的数据传输格式,JSON实际上就是一段javascript,大部分都是定义的数组格式。fortify公司的三位安全人员在2007年提出了Javascript劫持技术,这是一种针对JSON动态数据的攻击方式,实际上这也是一种变相的CSRF攻击。攻击者从站外调用一个script标签包含站内的一个JSON动态数据接口,因为<script src=”>这种脚本标签的文件请求会带上COOKIE,用户访问后相当于被迫从站外发起了一个带有身份认证COOKIE的GET请求,web程序马上返回了用户相关的JSON数据,攻击者就可以取得这些关键的JSON数据加以利用,整个过程相当于一个站外类型的CSRF攻击。

WEB应用中的JSON数据大部分使用在个人资料、好友列表等隐私功能里,这类数据一般是web蠕虫最重要的传播功能所需要的数据,而CSRF攻击结合Javascript劫持技术完全可以分析这类数据制作自动传播的web蠕虫,在一定情况下这种web蠕虫比网站出现跨站脚本漏洞制作的web蠕虫更具威胁性,几乎不受网站架构的限制,因为攻击者利用的不是传统的Web漏洞而是网站自身正常的功能,如果出现这类CSRF蠕虫,对网站的打击将是灾难性的。

0×05. 安全提醒

各个大型社区类网站必须警惕CSRF攻击和相关web蠕虫的爆发,并且针对这类web攻击制定有效的应急措施。同建议程序员不要滥用$_REQUEST类变量,在必要的情况下给某些敏感的操作加上水印,考虑使用类似DISCUZ论坛的formhash技术提高黑客预测请求参数的难度,注意JSON数据接口的安全问题等。最后希望大家全面的考虑客户端和服务端整体的安全,注意Internet Explorer等客户端浏览器一些安全缺陷和安全特性,防止客户端程序的安全问题影响整个Web应用程序。

参考:

http://blog.youkuaiyun.com/lake2/archive/2008/04/02/2245754.aspx

http://www.cgisecurity.com/articl

 

 

 

/csrf-faq.shtml

http://www.playhack.net/view.php?id=31

http://www.fortify.com/servlet/downloads/user/JavaScript_Hijacking.pdf

http://www.w3.org/P3P/

本站内容均为原创,转载请务必保留署名与链接!
CSRF攻击原理解析 : http://www.80sec.com/csrf-securit.html

从原理到实战:全面解析CSRF漏洞攻击与防御策略 跨站请求伪造(CSRF)是一种常见的Web安全漏洞,其核心原理在于攻击者利用浏览器对目标网站的信任机制,诱导用户在已登录状态下执行非预期的恶意操作。这种攻击之所以能够成功,关键在于浏览器会自动携带用户的身份认证信息(如Cookie)发起请求,而服务器默认信任这些请求。从技术价值来看,理解CSRF对于构建安全的Web应用至关重要,它直接关系到用户数据与资产的安全。在应用场景上,几乎所有基于会话认证的Web操作,如修改密码、资金转账、内容发布等,都可能面临CSRF威胁。本文以DVWA靶场为例,通过**实战演示* 阅读详情

相关推荐

深入了解torch框架

大国的游戏,政府支持到位,是未来;AI : Artificial Intelligence,旨在研究、开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统,是一种拥有自主学习和推理能力的技术。它模仿人类大脑某些功能,包括感知、学习、理解、决策和问题解决。AI本质​ NLP(说话,听)、CV(眼睛)、自动驾驶、机器人(肢体动作)、大模型三要素:数据、网络、算力① 神经网络:找到合适的数学公式;② 训练:用已有数据训练网络,目标是求最优解;③ 推理:用模型预测新样本;PyTorch,简称Torch

qq_74732076的博客 1135

【 安全】什么是CSRF攻击?如何避免?开发的时候怎么预防?

CSRF定义: 跨站请求伪造(英语:Cross-site request forgery)是一种对网站的恶意利用,也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。CSRF跨站点请求伪造(Cross—Site Request Forgery) 跟XSS攻击一样,存在巨大的危害性。

DreamSun的博客 4904

蛋白组学/磷酸化蛋白组学分析笔记-2

如何校正蛋白丰度?磷酸化组学质谱下机处理。

weixin_43029125的博客 1371

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

CSRF (Cross-site request forgery,跨站请求伪造)也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任的网站。简单的说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己以前认证过的站点并运行一些操作(如发邮件,发消息,甚至财产操作(如转账和购买商品))。

dzqxwzoe的博客 2935

手把手教你设计反激开关电源:从整流滤波到PCB布局的实战避坑指南

本文是一份反激开关电源的实战设计指南,重点解析了从整流滤波电路到PCB布局的关键细节与常见陷阱。文章深入探讨了输入保护元件协同设计、EMI滤波器优化、整流桥与滤波电容选型,并详细阐述了如何通过优化PCB布局来确保安规、最小化功率回路面积以控制噪声,旨在帮助工程师和爱好者规避设计误区,提升电源的可靠性与性能。

yhn45678901的博客 691

把对讲门铃(控制底楼铁门)接入米家服务器

今天讲个跟SDR或者无人机无关的东西,技术含量不高,但是方便了我的生活。 现在家门有智能锁,汽车也可以远程解锁发动,NFC门禁也可以用某些手机复制,唯独楼下的铁门,必须用老式对讲门铃控制。 也就是说其它钥匙都可以不带,就剩这个钥匙还必须随身携带。 另外有时候人不在家,不能开楼下铁门,快递员也没法把东西送上楼。 ......

老邵的开源世界 6549

【Web 安全】CSRF 攻击详解

文章目录一、CSRF 简介二、CSRF 原理三、CSRF 的危害四、CSRF 的攻击类型五、CSRF 的防御1. 验证 HTTP Referer 字段2. 在请求地址中添加 token 并验证3. 在 HTTP 头中自定义属性并验证参考链接 一、CSRF 简介 CSRF(Cross Site Request Forgery,跨站域请求伪造),也被称为 “One Click Attack” 或者 Session Riding,通常缩写为 CSRF 或者 XSRF 。 尽管听起来像跨站脚本(XSS),但它与X

weixin_44211968的博客 1万+

别再乱调栅极电阻了!手把手教你用示波器调试FOC驱动MOS管,避开EMC和震荡坑

本文详细介绍了FOC驱动中MOS管栅极参数的精准调试方法,涵盖示波器配置、波形特征分析及栅极电阻选型策略。通过实战案例和工程经验,帮助工程师有效解决EMC和震荡问题,提升驱动电路稳定性和效率。

weixin_28728495的博客 502

CSRF 攻击详解

禁用 CSRF 保护有其合理的应用场景,特别是在开发 RESTful API、使用其他防护措施、内部应用和非浏览器客户端时。然而,需要谨慎对待这个决定,并确保在适当的场景中启用 CSRF 保护,以防范潜在的安全风险。

只为成功找方法 不为失败找借口 5614

【毕设级教程】从0到1实现基于YOLOv8的UA-DETRAC交通目标检测系统(含UI界面,助力智能交通毕设)

本项目基于YOLOv8模型和UA-DETRAC数据集开发了一个交通目标检测系统,包含数据处理、模型训练和可视化界面全流程。UA-DETRAC数据集包含多种交通场景下的车辆标注,通过格式转换适配YOLOv8训练要求。系统采用PyQt开发交互界面,支持图像检测、结果显示等功能。该项目技术路线清晰,既展现深度学习在智能交通中的应用,又提供完整的可视化展示方案,适合作为计算机视觉相关毕业设计选题。

m0_64661770的博客 149

【Ubuntu】RK3576 Linux 6.10 Ubuntu 22.04 系统中 HUSB311 Type-C 转 DP 显示输出与 Device/OTG 模式切换配置详解

本文详细介绍了在Rockchip RK3576开发板(Linux Kernel 6.10+Ubuntu 22.04)上配置HUSB311 Type-C控制器的设备树实现方案。主要内容包括:1)硬件连接与模块组成;2)设备树完整配置,涵盖Type-C供电、USB OTG/Host模式、DP显示输出等关键功能;3)软件配置步骤与常见问题排查方法。该方案实现了Type-C接口的DisplayPort AltMode显示输出、USB Device/Host模式自动切换等功能,为嵌入式系统Type-C接口开发提供参考

qq_34478161的博客 808

CSRF攻击解析:原理、防御与应对策略

本文将带你深入了解CSRF攻击的原理,探讨如何防御和应对CSRF攻击,保护你的网站和用户数据安全。CSRF攻击是一种利用用户登录状态进行的攻击手段,通过深入了解CSRF攻击的原理、防御和应对策略,我们可以更好地保护网站和用户数据安全,为用户提供一个安全、可信赖的网络环境。

你若盛开,清风自来 1894

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

XSS、CSRF、SSRF攻击原理与防护全解析

XSS、CSRF、SSRF攻击原理与防护全解析

2301_81555343的博客 787

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

CSRF 攻击原理解析

来源:http://www.80sec.com/csrf-securit.html CSRF攻击原理解析 Write by admin in 未分类 at 2008-09-21 11:08:19 |=——————————————————————=| |=————–=[ CSRF攻击原理解析 ]=——————=| |=——————————————————————=| |=—

cogbee的专栏 1051

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

CSRF攻击原理深度解析:从漏洞复现到Token防御实战

跨站请求伪造(CSRF)是一种常见的Web安全漏洞,其核心原理是攻击者利用用户已认证的会话状态,诱导浏览器向目标网站发送非预期的恶意请求。这种攻击之所以能够成功,关键在于浏览器会自动携带用户的身份凭证(如Cookie),而服务器端缺乏对请求来源的有效验证机制。从技术价值看,理解CSRF有助于构建更安全的Web应用架构,防止用户数据被篡改、账户被恶意操作等风险。在应用场景上,CSRF常出现在社交平台、电商支付、后台管理系统等涉及用户敏感操作的环节。本文通过复现GET与POST两种典型攻击方式,并深入探讨了An

weixin_42525738的博客 263

CSRF攻击全流程解析:从原理到防御的实战指南

跨站请求伪造(CSRF)是一种利用浏览器自动携带会话凭证机制的安全威胁,攻击者可在用户不知情下冒用其身份执行非授权操作。其核心原理在于Web应用依赖Cookie等凭证进行状态管理,而浏览器会在跨站请求中自动提交这些凭证,攻击者通过构造恶意请求并诱使用户触发即可完成攻击。该技术对涉及用户状态管理的应用构成严重风险,可能导致数据篡改、资金转移等后果。在工程实践中,防御CSRF需结合同源检测、Anti-CSRF Token及SameSite Cookie属性等多层机制,尤其对于GET/POST请求的防护和Toke

weixin_29326909的博客 228

CSRF攻击原理解析二

CSRF攻击原理解析二 CSRF攻击原理解析二 Write by admin inweb应用程序安全at 2008-12-31 21:26:30 CSRF攻击原理解析二 Author: rayh4c [80sec]EMail: rayh4c#80sec.comSite: http://www.80sec.comDate: 2008-12-31From...

weixin_30381793的博客 64

前端安全实战:深入解析CSRF与XSS攻击原理及防御方案

Web安全是构建可靠互联网应用的基础,其中跨站请求伪造(CSRF)和跨站脚本攻击(XSS)是两类最常见且危害巨大的安全漏洞。CSRF的本质是攻击者利用用户已登录的合法身份,在用户不知情的情况下伪造请求执行恶意操作,其防御核心在于让服务器能够区分合法请求与伪造请求。XSS则是通过注入恶意脚本到网页中,在用户浏览器端执行以窃取数据或篡改页面,其防御关键在于对不可信数据进行严格的输出编码与内容消毒。从技术价值看,理解并实施有效的CSRF和XSS防护,是前端工程师从功能实现迈向工程可靠性的关键一步,直接关系到用户数

weixin_32234493的博客 327
上一篇: 浅谈反射型XSS的利用
下一篇: CSRF攻击原理解析二
fallinsky
博客等级 码龄18年 24粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值