Web安全 | 青训营笔记

58 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第2天

  1. xss: Cross-Site Scripting(跨站脚本攻击)

    • 这里为啥不是css而是xss,因为css你用的更多,为了防止搞混

    • 特点

      • 从UI上难以察觉(暗地里执行脚本)
      • 切取用户信息(cookie/token)
      • 绘制UI(例如弹窗),诱骗用户点击/填写表单
    • 分类

      • Stored XSS--存储型XSS

        • 恶意脚本被存放在数据库中
        • 访问页面读取数据就会被攻击
        • 危害最大,影响所有用户
      • Reflected XSS --反射型XSS

        • 不涉及数据库
        • 从url上攻击
        • 从服务端注入
      • DOM-based XSS--基于DOM的XSS

        • 不需要服务器参与
        • 攻击的发起和执行全在浏览器完成
      • Mutation-based XSS

        • 利用浏览器渲染DOM的特性
        • 不同的浏览器攻击方式不同
    • 防范措施

      • 永远不信任用户的提交内容

      • 永远不要把用户提交的内容直接转换成DOM

      • 现成工具

        • 前端

          • 主流框架默认防御XSS
          • google-closure-library
        • Node

          • DOMPurify
  2. CSRF: Cross-site request forgery(跨站伪造请求)

    • 用户不知情的情况下利用用户权限(cookie)构造指定HTTP请求,切取或修改用户敏感信息
    • 防御措施
      • 使用token验证
      • 验证 HTTP Referer 字段
      • 在 HTTP 头中自定义属性并验证
  3. Injection (注入)

    • SQL Injection
      • 防御措施
        • 严格检查输入变量的类型和格式
        • 过滤和转义特殊字符
  4. DoS: Denial of Service(服务拒绝)

    • 通过某种方式构造特定请求,导致服务器资源被显著消耗,来不及响应更多请求,导致请求挤压,进而雪崩效应
    • 防御措施
      • 过滤不必要的服务和端口
      • 检查访问者的来源
      • 限制SYN/ICMP流量
  5. DDos

    • 短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而雪崩效应,无法响应新请求。
    • 攻击特点
      • 直接访问IP
      • 任意API
      • 消耗大量带宽
    • 防御措施
      • 使用高防服务器、高防CDN、高防IP