当前位置: 首页 > news >正文

【CSRF】防御

Referer机制的核心作用与CSRF防御原理

        HTTP Referer头由浏览器自动生成,用于标识请求的来源页面地址,帮助服务器进行流量分析、防盗链保护和安全验证。在CSRF防御中,服务器通过检查Referer值是否来自同一域名,来阻断外部恶意域名的伪造请求,其本质是依赖来源页面的可信性验证。

Referer验证的固有局限性及可绕过场景

        该机制存在多重弱点:首先,Referer可能因用户隐私设置、浏览器安全策略(如HTTPS到HTTP的跳转)或书签访问而缺失,导致合法请求被误拒;其次,部分老旧浏览器或插件可能篡改Referer值,攻击者也可通过中间人攻击伪造头部;此外,若服务器仅宽松检查域名包含关系而非严格匹配,攻击者可能利用子域名或相似域名进行欺骗。

结合多层防御策略提升安全性

         由于Referer验证的不可靠性,现代Web安全推荐采用组合策略:首要措施是使用​​CSRF Token​​,通过在会话中绑定随机令牌并验证其唯一性,从根本上杜绝伪造请求;其次可设置​​SameSite Cookie属性​​(如Strict或Lax),从浏览器层面限制跨站请求携带Cookie;对于敏感操作还可加入​​二次确认机制​​(如验证码)。通过Referer验证辅助、Token为核心、SameSite Cookie为屏障的多层防护,才能有效应对CSRF威胁。

防护机制

优点

缺点

适用场景

​Referer验证​

实现简单,无需用户交互

可能被绕过或缺失

中等安全要求

​CSRF Token​

安全性高,难以绕过

需要前后端配合

高安全要求

​组合使用​

防御全面,互为补充

实现复杂度较高

关键业务操作

​核心要点​​:Referer验证是CSRF防御的有效手段,但不应作为唯一防护措施。在实际应用中,建议与其他安全机制组合使用,构建纵深防御体系。

打开bp,打开自带的浏览器用dvwa靶场演示。low级别的scrf,随便输入密码和确认密码,开启抓包截获到get请求的信息发送到csrf poc

或者复制代码,新建一个文本文件放入代码并且改名为后缀为html,拖进去浏览器,也能改变密码

然后打开数据库发现dvwa的user表密码改变。

这都很容易破解,所以要引入token

SRF Token防御机制详解​

 ​​核心原理​

  1. ​服务端生成​​:每次会话生成唯一、随机的Token字符串

  2. ​客户端携带​​:Token通过隐藏表单字段或HTTP头传递

  3. ​服务端验证​​:校验Token的有效性和匹配性


​Token窃取与绕过技术​

 ​​反射型XSS漏洞利用​

攻击者通过XSS漏洞窃取用户的CSRF Token:

<!-- 利用XSS窃取Token的Payload --> <iframe src="../csrf" onload= "alert(frames[0].document.getElementsByName('user_token')[0].value)"> </iframe>

  1. 发现XSS漏洞​​:找到可执行脚本的注入点

  2. ​窃取Token​​:通过DOM操作获取页面中的Token值

  3. ​构造恶意请求​​:使用窃取的Token发起CSRF攻击

  4. ​绕过防御​​:由于携带有效Token,请求通过验证


 ​​实战要点

防御层面

具体措施

注意事项

​Token生成​

随机性、唯一性、时效性

每次会话更新,防止重放攻击

​Token传输​

HTTPS加密、HttpOnly Cookie

防止中间人窃取

​Token验证​

严格比对、及时销毁

验证后立即失效当前Token

​综合防护​

结合Referer检查、SameSite Cookie

纵深防御策略

但是用反射型xss也能破解令牌,注入

<iframe src="../csrf"onload=alert(frames[0].document.getElementsByName('user_token')[0].value)>

       有一个 <iframe>元素, src属性指向上级目录中的 csrf页面或资源。onload事件会在 iframe 加载完成后触发,执行其中的 JavaScript 代码。代码功能是尝试读取 iframe 内页面中第一个名为 user_token的表单元素的值,并通过 alert()弹窗显示。

所以token也能破解。

声明:本篇内容基于网络安全知识体系,所学用途皆不可用于法律之外的攻击与入侵

感谢大家的观看,小编呆呆羊在这里与大家共同学习共同成长。

http://www.dtcms.com/a/403026.html

相关文章:

  • vue从template模板到真实渲染在页面上发生了什么
  • 从构建工具到状态管理:React项目全栈技术选型指南
  • 做彩票网站电话多少钱湛江网站网站建设
  • 云手机性能会受到哪些因素的影响?
  • app网站维护网站开发众包平台
  • [iOS] OC高级编程 - 引用计数 (1)
  • MyBatis-Plus实用指南:玩转自动化与高效CRUD
  • 揭开AI神秘面纱:大语言模型原理与Python极简开发
  • cmake详解
  • RabbitMQ-高可用机制
  • 云手机对网络游戏的重要性
  • 莱州做网站设计院一般年薪
  • Java 将 PDF 转换为 HTML:高效解决方案与实践
  • 从Prompt到Answer:详解AI Agent架构中的ReAct模式与工具调用
  • 六、OpenCV中的图像读写
  • 设计案例的网站pc开奖网站建设
  • 10月底实习准备-Mysql(按面试频率准备)
  • Flink Watermark机制解析
  • Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium
  • 实战:基于HarmonyOS 5构建分布式聊天通讯应用
  • 承德网站建设公司网页设计模板设计
  • HCIP-IoT/H52-111 真题详解(章节C),接入技术和网络设计 /Part1
  • 灵画-AI绘画小程序
  • 从拆盒到共创:手办盲盒抽赏小程序的多元体验与文化联结
  • 做网站必须学php吗现在感染症状有哪些
  • 如何在电脑上备份Redmi
  • 云计算实验1——CentOS中hadoop的安装
  • 使用 Captura 和 FFmpeg 配置免费高效的录屏环境
  • FFmpeg安装(Windows)
  • 电子商务网站建设与管理英文网站开发方式演进