什么是CSRF攻击,CSRF攻击如何预防? – 九游会j9官网ag数据

九游会j9官网ag

  • <tr id='qwp1s'><strong id='yikh5'></strong> <small id='x4lsr'></small><button id='oszga'></button><li id='il9ha'> <noscript id='izhk'><big id='gn2c3f'></big><dt id='1mym'></dt></noscript></li></tr> <ol id='ca5ow7'><option id='wf3a8'><table id='4sgrj'><blockquote id='xfir'> <tbody id='trbu'></tbody></blockquote></table></option></ol><u id='hkipf'></u><kbd id='s6blu'> <kbd id='n2y62q'></kbd></kbd>

    <code id='c0gt6'><strong id='t19xnr'></strong></code>

    <fieldset id='8xcob'></fieldset>
          <span id='hdii'></span>

              <ins id='dc5fov'></ins>
              <acronym id='kdwf8'><em id='loetb'></em><td id='yox2q8'><div id='e0r6'></div></td></acronym><address id='bgwwh'><big id='qu65'><big id='20dk92'></big><legend id='e6yrtb'></legend></big></address>

              <i id='e8xw0'><div id='be9ev'><ins id='p2xos1'></ins></div></i>
              <i id='lhund'></i>
            1. <dl id='8a5o5p'></dl>
              1. <blockquote id='ooce'><q id='7v03h'><noscript id='mhjbw'></noscript><dt id='m8bf'></dt></q></blockquote><noframes id='xpqwqf'><i id='02vp'></i>
                欢迎来到 九游会j9官网ag数据
                0411-62668989
                公司新闻 行业动态

                什么是CSRF攻击,CSRF攻击如何预防?

                2018-11-07

                CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种攻击。下面先介绍一下CSRF攻击的原理。

                 CSRF攻击过程的受害者用户登录网站A,输入个人信息,在本地保存服务器生成的cookie。攻击者构建一条恶意链接,例如对受害者在网站A的信息及状态进行操作,典型的例子就是转账。受害者打开了攻击者构建的网页B,浏览器发出该恶意连接的请求,浏览器发起会话的过程中发送本地保存的cookie到网址A,A网站收到cookie,以为此链接是受害者发出的操作,导致受害者的身份被盗用,完成攻击者恶意的目的。


                攻击者可以构造CGI的每一个参数,伪造请求。这也是存在CSRF漏洞的最本质原因。对于CSRF攻击,我们可以做如下防范:(1) 验证码。应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制CSRF攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。(2) Referer Check。HTTP Referer是header的一部分,当浏览器向web服务器发送请求时,一般会带上Referer信息告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。可以通过检查请求的来源来防御CSRF攻击。正常请求的referer具有一定规律,如在提交表单的referer必定是在该页面发起的请求。所以通过检查http包头referer的值是不是这个页面,来判断是不是CSRF攻击。但在某些情况下如从https跳转到http,浏览器处于安全考虑,不会发送referer,服务器就无法进行check了。若与该网站同域的其他网站有XSS漏洞,那么攻击者可以在其他网站注入恶意脚本,受害者进入了此类同域的网址,也会遭受攻击。出于以上原因,无法完全依赖Referer Check作为防御CSRF的主要手段。但是可以通过Referer Check来监控CSRF攻击的发生。(3) Anti CSRF Token。目前比较完善的解决方案是加入Anti-CSRF-Token,即发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器租用读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务。这种方法相比Referer检查要安全很多,token可以在用户登陆后产生并放于session或cookie中,然后在每次请求时服务器把token从session或cookie中拿出,与本次请求中的token 进行比对。由于token的存在,攻击者无法再构造出一个完整的URL实施CSRF攻击。但在处理多个页面共存问题时,当某个页面消耗掉token后,其他页面的表单保存的还是被消耗掉的那个token,其他页面的表单提交时会出现token错误。