美文网首页
浅谈CSRF攻击

浅谈CSRF攻击

作者: 湾里晴空 | 来源:发表于2018-04-02 14:34 被阅读0次

CSRF攻击概念

  • CSRF跨站点请求伪造,是一种对网站的恶意利用,其通过伪装来自受信任用户的请求来利用受信任的网站。
  • 可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务求来说请求是完全合法的,但是却完成了攻击者期望的一个操作,比如以你的名义发送邮件,转账,发消息等

CSRF攻击原理过程如下

  • 用户C打开浏览器,访问受信任的网站A,输入用户名和密码请求登录网站A;
  • 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功请求到网站A
  • 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问B;
  • 网站B接受到用户的请求后,返回攻击代码,并发出一个请求要求访问第三方站点A;
  • 浏览器在接受到攻击性代码后,根据网站B的要求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是B发起的,所以会根据用户C的cookie信息以C的权限处理该请求,导致恶意代码被执行。

防范CSRF攻击的方法

  • 验证 HTTP Referer 字段。 根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。因此,要防御 CSRF 攻击,服务端网站只需要对于每一个请求验证其 Referer 值
    然而,这种方法并非万无一失。Referer 的值是由浏览器提供的,虽然 HTTP 协议上有明确的要求,但是每个浏览器对于 Referer 的具体实现可能有差别,并不能保证浏览器自身没有安全漏洞。使用验证 Referer 值的方法,就是把安全性都依赖于第三方(即浏览器)来保障,从理论上来讲,这样并不安全。
  • 在请求地址中添加 token 并验证。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。对于 GET 请求,token 将附在请求地址之后,这样 URL 就变成 http://url?csrftoken=tokenvalue。 而对于 POST 请求来说,要在 form 的最后加上 <input type=”hidden” name=”csrftoken” value=”tokenvalue”/>,这样就把 token 以参数的形式加入请求了
    -在 HTTP 头中自定义属性并验证。 这种方法也是使用 token 并进行验证,和上一种方法不同的是,这里并不是把 token 以参数的形式置于 HTTP 请求之中,而是把它放到 HTTP 头中自定义的属性里。通过 XMLHttpRequest 这个类,可以一次性给所有该类请求加上 csrftoken 这个 HTTP 头属性,并把 token 值放入其中。这样解决了上种方法在请求中加入 token 的不便,同时,通过 XMLHttpRequest 请求的地址不会被记录到浏览器的地址栏,也不用担心 token 会透过 Referer 泄露到其他网站中去。

相关文章

  • 浅谈CSRF攻击

    CSRF攻击概念 CSRF跨站点请求伪造,是一种对网站的恶意利用,其通过伪装来自受信任用户的请求来利用受信任的网站...

  • CSRF

    reference 讓我們來談談 CSRFCSRF 是什么?浅谈CSRF攻击方式Example of silent...

  • 9.1 CSRF攻击

    CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪...

  • 最浅显易懂的Django系列教程(41)-CSRF攻击

    CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪...

  • 什么是CSRF攻击

    本文分享CSRF是什么与如何防范CSRF攻击 CSRF攻击是什么? CSRF(Cross-site request...

  • CSRF攻击

    除了XSS攻击外,还有一种叫CSRF的攻击不容小视。 什么是CSRF攻击呢? CSRF攻击又称跨站请求伪造,攻击者...

  • 信安 - 收藏集 - 掘金

    咱妈说别乱点链接之浅谈 CSRF 攻击 - 阅读 - 掘金作者 | 马达编辑 | 迷鹿 马达, 精通PHP开发、W...

  • 【Web安全】CSRF 攻击+XSS攻击+https

    一、浅谈CSRF 攻击 其原理是攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址...

  • 网络安全系列(3) CSRF攻击

    1.CSRF概述 1.2 CSRF 攻击实例 1.3 CSRF 攻击的对象 2.当前防御 CSRF 的几种策略 2...

  • Laravel - CSRF 攻击与防御

    CSRF攻击与防御-start 什么是CSRF攻击?CSRF是跨站请求伪造(Cross-site request ...

网友评论

      本文标题:浅谈CSRF攻击

      本文链接:https://www.haomeiwen.com/subject/rotxhftx.html