Web安全技术 课件 4CSRF攻击_第1页
Web安全技术 课件 4CSRF攻击_第2页
Web安全技术 课件 4CSRF攻击_第3页
Web安全技术 课件 4CSRF攻击_第4页
Web安全技术 课件 4CSRF攻击_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章CSRF攻击及防护01CSRF的基础知识02CSRF漏洞利用场景03CSRF防护方案目录CONTENTSCSRF基础知识CSRF攻击CSRF攻击的原理CSRF基础知识CSRF攻击CSRF攻击实例CSRF基础知识CSRF攻击CSRF攻击实例CSRF基础知识CSRF攻击CSRF攻击实例当攻击者要伪造当前用户身份并提交一条留言,主要流程如下:伪造一个页面诱使当前用户点击以实现触发CSRF基础知识CSRF攻击CSRF攻击实例CSRF基础知识CSRF攻击CSRF攻击实例CSRF基础知识CSRF攻击CSRF攻击的原理CSRF基础知识CSRF攻击CSRF攻击的原理

CSRF(Cross-SiteRequestForgery)跨站请求伪造,完全不同于XSS攻击。XSS攻击侧重于获取用户的权限及信息,而CSRF则是攻击者可伪造当前用户的行为,让目标服务器误以为请求由当前用户发起,并利用当前用户权限实现业务请求伪造。

可见,CSRF侧重于伪造特定用户的请求。CSRF基础知识CSRF攻击CSRF攻击的原理

观察上述的漏洞基本利用流程可以发现,要想攻击形成有效的CSRF攻击,必须满足三个条件:

1.用户处于登录状态

2.伪造的链接与正常应用请求链接一致

3.后台未对用户业务开展合法性检查

只要三个要素同时存在,则漏洞方可利用成功。尤其需要注意的是,用户必须在登录状态时点击伪造的页面。01CSRF的基础知识02CSRF漏洞利用场景03CSRF防护方案目录CONTENTSCSRF漏洞利用场景CSRF攻击

经过对CSRF漏洞实例的分析可知,这类漏洞在利用方面条件比较苛刻,因为必须在用户登录的情况下,由用户主动点击伪造链接,方可触发漏洞。也正是由于这个特点,很多人会忽视CSRF攻击带来的危害。在真实场景下,如果CSRF被利用,很可能会带来巨大的安全隐患。如:当用户是管理员时,如果存在CSRF漏洞,则攻击者可根据业务功能特点构造语句,在管理员不知情的情况下发起某项业务请求(如添加账号、删除某篇文章等),并且攻击者构造的请求会以当前管理员的身份发出并执行。针对个人用户,如果CSRF漏洞配合存储型XSS漏洞,可实现在当前用户页面上嵌入攻击伪造链接,从而大大增加用户点击的可能性,形成触发攻击的隐患。在部分管理系统中,考虑到用户使用系统的便利性,可以在后台Web页面上开发特定功能来实现针对管理系统的参数调整。每次在针对管理系统进行参数调整时,都会向服务器发起一次请求。因此,如果CSRF伪造管理的高危管理功能并诱导管理员执行,那么会对当前系统造成非常大的危害。01CSRF的基础知识02CSRF漏洞利用场景03CSRF防护方案目录CONTENTSCSRF防护方案CSRF攻击

CSRF一般是由于Web系统对当前用户身份的验证不足而造成的,比如目标站点并未对提交的请求做合法性检查,导致任何请求均可执行。尽管攻击的呈现方式千变万化,但归根结底都是没有充分验证当前业务的合法性导致的。

因此常用的防护手段重点在于为关键业务点添加合理的验证方式,以实现对用户合法身份的二次确认。

下面介绍几种有效的防护手段。CSRF防护方案CSRF攻击

由于攻击者只能仿冒用户发起请求,并不能接收服务器的响应内容,因此可在请求被执行前添加防护措施。主要思路为在发起关键业务的请求时,多添加一步验证环节,并且保证验证环节的内容无法被攻击者获取,从而有效避免攻击者伪造请求的情况。常见的方式有以下两种:

(1)添加验证过程

CSRF漏洞可成功利用的一个显著特点是攻击者伪造的用户请求会被服务器实际执行。为此,最有效的手段就是在其中添加一个中间过程,如让用户确认,从而可以避免这类问题出现。添加中间环节CSRF防护方案CSRF攻击添加中间环节CSRF防护方案CSRF攻击

由于攻击者只能仿冒用户发起请求,并不能接收服务器的响应内容,因此可在请求被执行前添加防护措施。主要思路为在发起关键业务的请求时,多添加一步验证环节,并且保证验证环节的内容无法被攻击者获取,从而有效避免攻击者伪造请求的情况。常见的方式有以下两种:

(1)添加验证过程

CSRF漏洞可成功利用的一个显著特点是攻击者伪造的用户请求会被服务器实际执行。为此,最有效的手段就是在其中添加一个中间过程,如让用户确认,从而可以避免这类问题出现。

添加验证过程时需要注意,确认流程应由页面接受后在前台进行显示,不要利用纯前端的技术来实现,如利用JS代码来实现上述功能,否则就会失去原有的意义。添加中间环节CSRF防护方案CSRF攻击

(2)添加验证码

在业务角度针对CSRF防护的另一种有效方式是添加验证码机制。也就是说,用户在提交内容时需要输入验证码,利用验证码来确认是否为当前用户发起的请求。

验证码对于CSRF攻击防护效果良好,但是验证码最好在关键的业务流程点使用。如果在业务流程中过多使用验证码,会导致用户体验严重下降,直接影响用户的行为。添加中间环节CSRF防护方案CSRF攻击

针对CSRF漏洞,在建设Web系统时一般会利用token来识别当前用户身份的真实性。Token在当前用户第一次访问某项功能页面时生成,且是一次性的,在生成完毕后由服务端发送给客户端。用户端接收到token之后,会在进行下一步业务时提交token,并由服务器进行有效性验证。由于攻击者在CSRF利用时无法获得当前用户的token,导致就算链接发送成功,也会由于没有附带token值,导致针对请求的验证发生错误,当前攻击请求也就无法正常执行。验证用户请求合法性CSRF防护方案CSRF攻击验证用户请求合法性CSRF防护方案CSRF攻击

生成token的方式非常灵活,可通过当前时间、当前用户名+随机数等多种方式生成。上例中利用10000以内的随机数的MD5值作为token。

根据当前用户提交的情况进行token验证及更新。从上例中可以看到,在每次访问之后都会进行token更新。

在使用token时需要遵循以下原则:

(1)token

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论