这是我参与「第五届青训营 」笔记创作活动的第4天
知识重点
web安全
- cross=site-scripting xss
- cross-site request forgery CSRF
- injection
- denial of service DOS
- distributed dos DDoS
- 中间人攻击
具体内容
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
- 在用户不知情的情况下
- 利用用户权限(cookie)
- 构造指定HTTP请求 ,窃取或修改用户敏感信息
防御方式
- 限制请求来源 orgin + referer
- token防御 用户绑定 过期时间
- 面对 iframe 请求头中设置 X-Frame-Option
- SameSite Cookie
injecton
SQL注入
- 将SQL语句提前编译
- 读取请求字段 直接以字符串的形式拼接SQL语句 CLI OS command
DoS
通过某种方式 ,消耗服务器资源 ,使其请求挤压,造成雪崩效应 基于正则表达式的DoS DDoS 受到大量僵尸设备的请求,导致雪崩 流量治理 快速扩容 非核心业务降级
中间人攻击
中间窃取信息,返回结果
- 明文传输
- 信息篡改不可知
- 对方身份未验证 使用https
- 可靠性 :加密 传递信息 有加密信息 和哈希值
- 完整性:MAC验证
- 不可抵赖性:数字签名
SRI
当静态资源被篡改 会有hash值进行比较
尾声
使用的依赖同样会有漏洞