zoukankan      html  css  js  c++  java
  • CSRF攻击原理

      跨站请求伪造和跨站请求保护的实现

     图中browse是浏览器,webserveA是受信任网站/被攻击网站A,webserverB是恶意网站/攻击网站B

        

        1.一开始用户打开浏览器,访问受信任网站A,输入用户名和密码登录请求网站A

      2.网站A验证验证用户信息,用户信息通过验证,网站A产生Cookie信息并返回给浏览器

      3.用户登录网站A成功后,可以正常请求网站A

      4.用户未退出网站 A 之前,在同一浏览器中,打开一个TAB 访问网站 B。

      5.网站 B 看到有人方式后,他会返回一些攻击性代码。
      6.浏览器在接受到这些攻击性代码后,促使用户不知情的情况下浏览器携带 Cookie(包括
    sessionId)信息,请求网站 A。这种请求有可能更新密码,添加用户什么的操作。

    从上面 CSRF 攻击原理可以看出,要完成一次 CSRF 攻击,需要被攻击者完成两个步骤:
    1.登陆受信任网站 A,并在本地生成 COOKIE。
    2.在不登出 A 的情况下,访问危险网站 B。
    如果不满足以上两个条件中的一个,就不会受到 CSRF 的攻击,以下情况可能会导致 CSRF:
    1.登录了一个网站后,打开一个 tab 页面并访问另外的网站。
    2.关闭浏览器了后,本地的 Cookie 尚未过期,你上次的会话还没有已经结束。(事实上,关闭浏
    览器不能结束一个会话,但大多数人都会错误的认为关闭浏览器就等于退出登录/结束会话了……)

    解决办法:就是在表单中添加 from.csrf_token

  • 相关阅读:
    【JavaScript基础#2】
    【JavaScript基础#1】
    【2020-05-14】不选择就是一种选择
    【2020-05-13】当前最大价值的提升
    【2020-05-12】做事就是做人
    【2020-05-11】是爱,让我发现了当下风景的眼光
    【2020-05-10】人生十三信条
    【2020-05-09】干中学的又一思考
    【2020-05-08】当前手上拿的,永远都是最好的牌
    【2020-05-07】修炼心态的调整
  • 原文地址:https://www.cnblogs.com/wdz1226/p/10610540.html
Copyright © 2011-2022 走看看