CSRF(跨站请求伪造)原理

这篇具有很好参考价值的文章主要介绍了CSRF(跨站请求伪造)原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是CSRF?

(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

CSRF指的是攻击者盗用了你的身份,以你的名义发送恶意的请求,给你造成个人隐私泄露及财产安全。

知识点补充:

Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

CSRF原理图:

CSRF(跨站请求伪造)原理

 简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的

从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:

  • 登录受信任网站A,并在本地生成Cookie。
  • 在不登出A的情况下,访问危险网站B。
    看到这里,你也许会说:“如果我不满足以上两个条件中的一个,我就不会受到CSRF的攻击”。是的,确实如此,但你不能保证以下情况不会发生:

1.你不能保证你登录了一个网站后,不再打开一个tab页面并访问另外的网站。
2.你不能保证你关闭浏览器了后,你本地的Cookie立刻过期,你上次的会话已经结束。(事实上,关闭浏览器不能结束一个会话,但大多数人都会错误的认为关闭浏览器就等于退出登录/结束会话了......)
3.上图中所谓的攻击网站,可能是一个存在其他漏洞的可信任的经常被人访问的网站。

一个典型的CSRF例子:

CSRF(跨站请求伪造)原理

CSRF的分类:

CSRF的定义是强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。CSRF漏洞的攻击根据提交数据的方式不同一般分为get型和post型。

Get型攻击:

CSRF(跨站请求伪造)原理如果一个网站某个地方的功能,比如用户修改密码是通过GET请求进行修改的。如:/?password_new=12345&password_conf=12345&change=change# ,这个链接的意思是登陆密码修改为12345,当我们把这个链接修改为 /?password_new=admin123&password_conf=admin123&change=change# ,然后通过各种手段发送给被攻击者,诱使被攻击者点击我们的链接,当用户刚好在访问这个网站,他同时又点击了这个链接,那么悲剧发生了。这个用户的登陆密码变成 了admin123.(来自DVWA-CSRF-low)

Post型攻击:

CSRF(跨站请求伪造)原理

在普通用户的眼中,点击网页->找到个人中心->修改密码是一个很正常的一个流程。可是在攻击者的眼中可以算正常,但又不正常的,当然不正常的情况下,是在开发者安全意识不足所造成的。攻击者在修改密码处抓到密码修改的地址。比如:/?password_new=12345&password_conf=12345&change=change# 。通过提交表单,服务器处理相关信息,表单数据如上图所示。当用户访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作。

 防御CSRF攻击:

目前防御 CSRF 攻击主要有三种策略:

  • 验证 HTTP Referer 字段;
  • 在请求地址中添加 token 并验证;
  • 在 HTTP 头中自定义属性并验证。

 文章来源地址https://www.toymoban.com/news/detail-401054.html

 

 

 

 

 

到了这里,关于CSRF(跨站请求伪造)原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 跨站请求伪造(CSRF)

    CSRF(Cross-Site Request Forgery)跨站请求伪造是一种常见的网络安全攻击,它利用用户在已经登录的网站上的身份验证信息来执行恶意操作。 攻击者通过诱使受害者在本地浏览器中打开一个恶意网站,这个网站会发送一个自动执行的请求到目标网站。由于受害者已经在目标网站上

    2024年02月17日
    浏览(31)
  • 跨站请求伪造(CSRF)

    1.1 基本概念 ​ 跨站请求伪造(Cross Site Request Forgery,CSRF)是一种攻击,它强制浏览器客户端用户在当前对其进行身份验证后的Wb应用程序上执行非本意操作的攻击,攻击的重点在于更改状态的请求,而不是盗取数据,因为攻击者无法查看伪造请求的响应。 ​ 借助于社工的一些帮

    2024年02月10日
    浏览(27)
  • CSRF(跨站请求伪造)

    CSRF(Cross Site Request Forgery, 跨站请求伪造 )。是一种对网站的恶意利用, 通过伪装来自受信任用户的请求来利用受信任的网站 。 原理 是攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址自动加载。用户在登录状态下这个请求被服

    2024年01月16日
    浏览(29)
  • CSRF - 跨站请求伪造

    目录 1、什么是CSRF 2、CSRF的攻击过程和原理 3、CSRF的类型有哪些 4、CSRF的防御 5、CSRF与XSS有何不同 6、没有防御的CSRF 跨站请求伪造(Cross-site request forgery),CSRF是指利用受害者尚未失效的身份认证信息(登录状态中的Cookie等),诱骗受害者点击恶意链接,或者访问包含攻击代

    2024年04月08日
    浏览(32)
  • 漏洞篇(CSRF跨站请求伪造)

    目录 一、CSRF 原理 1、CSRF 漏洞的定义 2、XSS 与 CSRF 的区别 3、CSRF 的简单理解 二、基于 DVWA 的 low 级别演示 CSRF 攻击  1、查看源代码 2、构造 URL 链接 3、验证 CSRF 攻击  4、构造恶意链接 5、短连接介绍 三、基于 DVWA 的 Medium 级别演示 CSRF 攻击 1、查看源代码 2、直接修改密码和

    2024年02月01日
    浏览(33)
  • 浏览器安全之CSRF跨站请求伪造

    跨站请求伪造(Cross-site request forgery) 简称 CSRF ,尽管与跨站脚本漏洞名称相近,但它与跨站脚本漏洞不同。 XSS 利用站点内的信任用户,而 CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。 CSRF和反射型XSS的主要区别是: 反射型XSS 的目的是在客户端执行脚本,

    2024年02月02日
    浏览(28)
  • CSRF(跨站请求伪造)和SSRF(服务端请求伪造)漏洞复现:风险与防护方法

    这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。  环境准备 示例: 假设用户在银行网站A上登录并保持会话活动,同时他也在浏览其他网站。攻击者在一个不可信任的网站B上创建了一个恶意链接,当用户点击该链接时,会自动向银行网站A发送一个

    2024年02月10日
    浏览(34)
  • Web漏洞之CSRF(跨站请求伪造漏洞)详解

    我们知道了同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。 这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三方资源 ,然后又引入 CSP 策略来加以限制;默认 X

    2024年02月03日
    浏览(35)
  • 21 - form表单验证 和 csrf跨站请求伪造

             (1). 官网:               (2). 安装第三方库          (3). form类型和校验             (1). settings.py 设置随机字符串         (2). app.py  全局使用csrf保护         (1). 新建form.py 文件, 定义 form 表单数据         (2). view.py 调用表单对象 ,返回给前端      

    2024年02月10日
    浏览(33)
  • jenkins 关闭关闭CSRF Protection(跨站请求伪造保护)

    我的jenkins版本是:2.332.4 Jenkins版本自2.204.6以来的重大变更有:删除禁用 CSRF 保护的功能。 从较旧版本的 Jenkins 升级的实例将启用 CSRF 保护和设置默认的发行者,如果之前被禁用。 老版本Jenkins的CSRF保护功能只需要在 系统管理 全局安全配置 中便可进行打开或者关闭。让人头

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包