csrf跨站点请求伪造

Posted khz521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csrf跨站点请求伪造相关的知识,希望对你有一定的参考价值。

什么是csrf(跨站请求伪造)

  伪造请求的定义有很多种,我将不是用户本意发出的请求统称为伪造请求(在用户不知情的情况下执行某些操作)xss的通过用户对浏览器的信任造成的,csrf是通过服务器对浏览器的信任造成的

csrf的原理及过程:

  假设有a用户和b网站c网站  c网站为恶意网站

    a用户正常登录b网站,登录成功,b网站返回一个cookie给a用户

    b用户访问c网站,c网站在a用户不知情的情况下要求a的浏览器访问b网站的特点功能,浏览器正常执行

    b网站接到a浏览器的请求,正常执行a用户浏览器的请求

csrf形成的前提:

  与攻击方处于同一浏览器,用户处于登录状态并且用户访问了攻击方的链接

csrf攻击过程:

  当用户执行修改密码操作时候,向网页提交了一个正常的请求
  技术图片

 

   根据这个请求配置一个方式配置一个专门的网页,当访问这个网页的时候,这个网页会发出一个iframe框架请求请求了修改密码请求,将密码修改为123,display是设置框架的隐藏

  技术图片

 

受害者访问过程:
   我们更换用户登录

   技术图片

 

  登录成功:访问网址

    技术图片

   退出登录

    技术图片

 

   密码已经被修改成123

技术图片

 

 

csrf的防御:

  1.服务器端验证请求浏览器的heferer参数(该参数表示的是从哪个网页发出的请求)

   技术图片

  2.增加随机token 验证

    技术图片

以上是关于csrf跨站点请求伪造的主要内容,如果未能解决你的问题,请参考以下文章

跨站点请求伪造(CSRF)

密码学系列之:csrf跨站点请求伪造

4.1跨站点请求伪造(CSRF)

CSRF 跨站点请求伪造

csrf跨站点请求伪造

防止 asp.net Web 表单中的跨站点请求伪造 (csrf) 攻击