zoukankan      html  css  js  c++  java
  • CSRF攻击与防御(转)

    转自:https://blog.csdn.net/xiaoxinshuaiga/article/details/80766369(源源作者连接失效,转载的第二任的)

    用自己的话描述:

      以文中银行转账为例,CSRF攻击就是你登陆了A银行,所以你的浏览器上有登陆A银行网站需要的认证信息(cookies),你没有退出A银行网站,这时打开了B网站,B网站伪造了一个转账的请求(比如美女图片,你点击美女图片就会触发一次转账请求,由于没有退出A银行,所以这次请求会携带cookies,从而让A银行误以为是本人的正常操作,导致错误转账)。

      构造随机token,意思是正常请求A银行网页的时候,会返回一个正经网页,该正经网页会携带A银行网站随机生成的一个token过来,你只有点击这个正经网页的提交表单才能获取这个token并返回给A银行网站。假如在不退出登陆状态情况下打开B网站的网页,并且点击了这个不正经网页的美女图片,由于这个不正经网页中不含有token,所以,虽然这个 不正经网页能获取cookies,但是没法获取token,因为token只存在于正经网页中。

    既然js能获取cookie,那么能否通过js获取csrf-token呢?

      获取到cookie中Token的值需要用到JavaScript,如果能使用JS获取Cookie中的值,那就涉及到另外一种漏洞:XSS跨站脚本攻击了。 CSRF劫持用户cookie,攻击者只能使用这个Cookie执行用户操作,但Cookie里面写的是什么,攻击者是看不到的。也就是说,js只能操作本站cookie,对于别的站点的cookie是操作不了的,除非使用xss跨站脚本攻击

  • 相关阅读:
    linux基础命令笔记
    linux日常常用命令分析
    43.QQ聊天软件GUI窗口编写
    42.线程概念及线程池
    pycham中报:ModuleNotFoundError: No module named 'pymysql'
    python os模块
    python用类的方式创建线程---自创建类
    python server端并发聊天
    python文件上传
    python编码--解码
  • 原文地址:https://www.cnblogs.com/olivertian/p/10934032.html
Copyright © 2011-2022 走看看