4.1CSRF介绍

跨站点请求伪造(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

第一步:环境搭建

4.1CSRF介绍_第1张图片

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

4.1CSRF介绍_第2张图片

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

4.1CSRF介绍_第3张图片

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

4.1CSRF介绍_第4张图片

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

4.1CSRF介绍_第5张图片

代码分析

钓鱼网站的首页index.html



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

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

meta charset='utf-8'>

宝刀在手,谁与争锋
  • src=…表示跳转到转账界面
  • username=hacker代表转账的对方名称
  • money=100代表转账的金额
  • submit=submit代表提交

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



你可能感兴趣的:(web渗透)