CSRF和CORS 漏洞区别整理

今天在浏览“嘶吼”的时候看到了一篇讲CORS的文章。脑子里忽然对CORS和CSRF的区别有了一点疑问。于是就想写下来。

1. 基本概念复习

CSRF,跨站请求伪造。攻击者在受害者未知的情况下可以使用受害者的认证发送伪造请求给目标站点。

CORS, 跨源资源共享。这是XMLHttpRequest V2 标准下规定的跨站点资源共享的方式。它规定了浏览器在通过XMLHttpRequest请求跨域资源请求的时候的行为规范。服务端请求头配置错误的时候会导致安全漏洞。

从字面上看,CSRF 是一种攻击方式。而CORS是一种资源共享的方式。

2. 漏洞区别

CSRF漏洞出现的场景比较多。常见的CSRF漏洞往往是针对某个行为的攻击,攻击者不需要得到服务端返回的内容。浏览器只要携带受害者的cookie发起了一个动作,服务端进行正常的接受请求就能够达到攻击者的目的。CSRF造成的危害根据具体的业务场景判定。

CORS是XMLHTTPRequest的规范。它规定了XMLHttprequest请求获取跨域资源的行为。这里有2点要求,浏览器发出的必须要是XMLHttpRequest 。它的场景被限制了。(可能在CORS规范出现前,CSRF是可以利用ajax进行攻击的吧🤔。)安全攻防中,我们正常是需要得到服务端的返回的,CORS漏洞经常造成的是敏感信息泄露的问题。

3. 防范

csrf 现今主流框架基本有完善的方案进行防护。基本上是对表单操作增加伪随机数token。后端进行随机数token校验。

cors出现漏洞的情况往往是对Access-Control-Allow-Origin、Access-Control-Allow-Credentials 设置和校验存在问题。需要对这两个参数进行设置。


__EOF__

本文作者Expl0it
本文链接https://www.cnblogs.com/expl0it/p/13950722.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Expl0it  阅读(1788)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示