这是我参与「第五届青训营 」笔记创作活动的第11天
课程重点
- 攻击层面
- 防御层面
攻击层面
XSS攻击含义
跨站脚本攻击(XSS) :注入恶意脚本
XSS攻击特点:
- 通常难以从UI上感知(暗地执行脚本)
- 窃取用户信息(cookie/token)
- 绘制UI(例如弹窗),诱骗用户点击/填写表单
XSS攻击分类:
Stored XSS
Reflected XSS
DOM-based XSS
Mutation-based XSS
Cross-site request forgery(CSRF)
Injection不止于SQL
Denial of Service(Dos)
防御层面
XSS
- 永远不信任用户提交的内容(不要将用户提交的内容直接转化为DOM)
- 现成工具(前端:主流框架默认防御XSS;google-closure-library。服务端(Node): DOMPurify
Content Security Policy(CSP)
- 哪些源(域名)被认为是安全的
- 来自安全源的脚本可以执行,否则直接抛错
- 对 eval + inline script 说no
CSRF的防御
SameSite VS CORS
SameSite
- Cookie发送
- domain vs 页面域名
CORS
-
资源读写(HTTP请求)
-
资源域名 vs 页面域名
-
白名单