CSRF笔记整理

  • 跨站请求伪造

    • 类型
      • GET:基于url直接修改
      • POST:基于表单修该
    • 基本原理
      • 用户在同一浏览器登陆了网站A并访问了攻击者在网站B上构造的恶意链接(针对网站A用户信息的一些数据操作)
      • 用户点击恶意链接瞬间会触发csrf攻击;通过网站B后台以该用户的身份向网站A发送恶意请求达到非法操作
      • 利用了cookie保持会话的功能
    • 触发条件
      • 网站A的某处操作存在CSRF漏洞(只通过cookie验证,没有过多的其他验证:验证码,referer信息,token值等)
      • 用户在同一浏览器中分别打开了网站A和网站B
      • 用户登录了网站A并在登录期间访问了网站B中的恶意链接
    • 危害
      • 篡改目标网站上的用户数据;
      • 盗取用户隐私数据;
      • 作为其他攻击向量的辅助攻击手法;
      • 传播 CSRF 蠕虫。
    • 防御
      • 使用POST字段发送数据(可以降低风险)
      • 增加验证码二次验证
      • 检查referer字段是否满足同源策略
      • Anti CSRF Toke(随机指定token)
      • 对操作的一些关键数据进行加密传输
  • 浏览同源策略

    • 同源策略
      • 协议、端口、域名都相同为同源
    • 浏览器同源策略主要用于解决用户在访问网站资源时的安全问题;防止随意跳转到恶意网站造成资产损害
      • 在该网站页面中只允许访问同源的资源
      • 阻止非同源资源加载和url跳转
    • 不受同源策略限制的资源
      • 页面上的链接,比如 a 链接。
      • 重定向。
      • 表单提交。
      • 跨域资源的引入,比如:script, img, link, iframe
    • 解决不同源脚本交互问题(即非同源资源加载的问题)
      • JSONP 解决跨域
        • 在源网站中创建script脚本利用回调函数将数据以JSON格式传递过来
        • JSON格式:键值对{key: value} 如{name : "jane"}
        • 问题
          • 由于使用回调函数传参所以只能使用GET方法;不安全;
          • 由于通过修改脚本代码实现,容易被注入恶意代码
      • CORS 解决跨域(跨域资源共享———Cross-origin resource sharing)
        • 通过在对应的服务器设置白名单的方式来解决跨域资源交互的问题
        • AJAX概念
          • AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
          • 通过跟服务器交互实现局部html代码的改动
          • XMLHttpRequest是实现Ajax的一种方式
        • 流程
          • 浏览器检测到ajax请求为跨域请求时会自动加入Origin字段声明来源(协议+域名+端口号)
          • CORS服务端收到该请求时判断Origin字段的url是否在可访问的白名单里
          • 如果在白名单里则返回带有Access-Control-Allow-Origin和Access-Control- Allow-Credentials字段的响应包
            • Access-Control-Allow-Origin(ACAO)
              • 白名单中的数据;允许访问的源地址
            • Access-Control- Allow-Credentials(ACAC)
              • true:服务器允许上传cookie值
              • false:服务器不允许上传cookie值
          • 否则返回同源检测异常
        • CORS漏洞
          • 检测方法
            • 常看响应包是否存在ACAO和ACAC两个字段,且ACAC=true
            • 查看ACAO的信息是否为*或null(存在)
            • 尝试修改origin查看ACAO的变化(不断变化则存在)
          • 漏洞成因:ACAO配置错误+ACAC=true
            • 使用origin字段充当ACAO
            • 对origin字段没有严格匹配
              • 前缀匹配
              • 后缀匹配
              • url中的点号为转义
              • ACAO无限制

相关推荐

  1. CSRF笔记整理

    2024-02-01 12:24:02       30 阅读
  2. <span style='color:red;'>CSRF</span>

    CSRF

    2024-02-01 12:24:02      51 阅读
  3. SSRF笔记整理

    2024-02-01 12:24:02       28 阅读
  4. SpringCloud Stream笔记整理

    2024-02-01 12:24:02       20 阅读
  5. Kafka-SSL笔记整理

    2024-02-01 12:24:02       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 12:24:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 12:24:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 12:24:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 12:24:02       20 阅读

热门阅读

  1. day36WEB攻防-通用漏洞&XSS 跨站&MXSS&UXSS&FlashXSS&PDFXSS

    2024-02-01 12:24:02       38 阅读
  2. netlink学习

    2024-02-01 12:24:02       31 阅读
  3. SQL Server 函数参考手册(SQL Server 字符串函数)

    2024-02-01 12:24:02       31 阅读
  4. QuertWrapper and 和or 用法

    2024-02-01 12:24:02       35 阅读
  5. 私有云+云原生能力模型

    2024-02-01 12:24:02       33 阅读
  6. docker-compose部署开源培训系统playedu

    2024-02-01 12:24:02       32 阅读
  7. ArrayList和LinkedList 区别

    2024-02-01 12:24:02       32 阅读
  8. 【Android】屏幕锁

    2024-02-01 12:24:02       38 阅读
  9. C/C++编程-工程实践-MDK工具学习

    2024-02-01 12:24:02       35 阅读
  10. 学习前端之HTML5中的`<!DOCTYPE>`声明有什么意义

    2024-02-01 12:24:02       34 阅读
  11. pinia---状态管理工具

    2024-02-01 12:24:02       30 阅读
  12. 【AutoML】AutoKeras 训练数据收集并入库

    2024-02-01 12:24:02       37 阅读