您当前的位置: 首页 > 

星球守护者

暂无认证

  • 1浏览

    0关注

    641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

4.1CSRF介绍

星球守护者 发布时间:2020-05-28 16:45:48 ,浏览量:1

跨站点请求伪造(CSRF)

文章目录
    • 跨站点请求伪造(CSRF)
      • CSRF简介
      • CSRF攻击原理
      • CSRF攻击案例
        • 攻击案例
        • 代码分析

CSRF简介
  • CSRF( Cross-Site Request Forgery)是指跨站请求伪造,也常常被称为“ One Click Attack或者“ Session Riding”,通常缩写为CSRF或是XSRF。

  • 虽然CSRF听起来像XSS跨站脚本攻击,但CSRF与XSS的攻击方式完全不同。

  • CSRF与XSS相比,虽然CSRF攻击不太流行,但却更加难以防范,所以被认为CSRF比XSS更具危险性,CSRF在业内具有“苏醒的巨人”的称号。

  • 可以这么理解CSRF攻击:

    攻击者盗用了你的身份,以你的名义进行某些非法操作。
    CSRF能够使用你的账户发送邮件,获取你的敏感信息,甚至盗走你的财产。
    
CSRF攻击原理

会话的产生、使用、结束

  • 当我们打开或登录某个网站后,浏览器与网站所存放的服务器将会产生一个会话
  • 在这个会话没有结束时,你就可以利用你的权限对网站进行某些操作,如:发表文章、发送邮件、删除文章等。
  • 当这个会话结束后,你再进行某些操作的时候,Web应用程序可能会提示你“您的会话已过期”、“请重新登录”等提示。

会话的案例

  • 登录网上银行后,浏览器已经跟可信的站点建立了一个经过认证的会话。
  • 之后,所有通过这个经过认证的会话发送请求,都被视为可信的动作,例如, 转账、汇款等操作。
  • 当我们在一段时间内不进行操作后,经过认证的会话可能会断开,再次进行 转账、汇款操作时,这个站点可能会提示你:您的身份已过期,请重新登录、会话已结束等信息。

CSRF攻击是建立在会话之上的

  • 当你登录了网上银行,正在进行转账业务,
  • 这时你的某个QQ好友(攻击者)发来一条消息(URL),这条消息是攻击者精心构造的转账业务代码,而且与你所登录的是同一家网络银行,
  • 你可能认为这个网站是安全的,然而当你打开了这条URL后,你账户中的余额可能会全部丢失。

总结

  • 因为你的浏览器正处于与此网站的会话之中,那么任何操作都是合法的,
  • 而攻击者构造的这段代码只不过是正常的转账操作代码而已
CSRF攻击案例 攻击案例

bank server的转账代码


  • 主要是username、money的值,代表给username转账money

第一步:环境搭建

在这里插入图片描述

第二步 test登录bank server,查看自己的金额

在这里插入图片描述

第三步 test同时访问hack server服务器上的钓鱼网站

在这里插入图片描述

第四步 test用户点击钓鱼网站的链接

在这里插入图片描述

第五步 test再次查看自己的金额,发现金额减少

在这里插入图片描述

代码分析

钓鱼网站的首页index.html



屠龙宝刀,点击就送 通道一
屠龙宝刀,点击就送 通道二

通道一:使用get方式提交:get.html

meta charset='utf-8'>


  • src=…表示跳转到转账界面
  • username=hacker代表转账的对方名称
  • money=100代表转账的金额
  • submit=submit代表提交

通道二:使用post方式提交:post.html






document.csrf.submit()

            
关注
打赏
1662051426
查看更多评论
0.0414s