web开发安全|青训营笔记

44 阅读2分钟

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

知识重点

web安全

  1. cross=site-scripting xss
  2. cross-site request forgery CSRF
  3. injection
  4. denial of service DOS
  5. distributed dos DDoS
  6. 中间人攻击

具体内容

XSS

攻击者注入恶意脚本 XSS利用盲目信任用户提交内容 将其字符串转化成内容 。

特点 :

  • 难以从UI上感知(暗地里执行脚本)
  • 窃取用户信息(token、cookie)
  • 绘制UI,诱骗用户点击

分类

  • Stored XSS:恶意脚本存储在数据库中 访问页面 读取数据时被攻击 对全体用户可见
  • reflected XSS 不涉及数据库 从URL上攻击 服务端注入
  • DOM -based XSS 不需要服务器参与 攻击的发起与执行在浏览器完成
  • Mutation-based XSS 利用浏览器渲染DOM的特性 不同浏览器会被区分
防御
  • 永远不要相信用户提交的内容
  • 不要将用户数据转化成DOM
工具

前端

  • 主流框架默认防御XSS
  • Google-closure-library 服务端
  • DOMPurify

CSRF

  1. 在用户不知情的情况下
  2. 利用用户权限(cookie)
  3. 构造指定HTTP请求 ,窃取或修改用户敏感信息

防御方式

  • 限制请求来源 orgin + referer
  • token防御 用户绑定 过期时间
  • 面对 iframe 请求头中设置 X-Frame-Option
  • SameSite Cookie

injecton

SQL注入

  • 将SQL语句提前编译
  • 读取请求字段 直接以字符串的形式拼接SQL语句 CLI OS command

DoS

通过某种方式 ,消耗服务器资源 ,使其请求挤压,造成雪崩效应 基于正则表达式的DoS DDoS 受到大量僵尸设备的请求,导致雪崩 流量治理 快速扩容 非核心业务降级

中间人攻击

中间窃取信息,返回结果

  • 明文传输
  • 信息篡改不可知
  • 对方身份未验证 使用https
  • 可靠性 :加密 传递信息 有加密信息 和哈希值
  • 完整性:MAC验证
  • 不可抵赖性:数字签名

SRI

当静态资源被篡改 会有hash值进行比较

尾声

使用的依赖同样会有漏洞