- 这是我参与第五届青训营伴学笔记创作活动的第13天
攻击篇
Cross-Site Scrioting(XXS)
- 跨站脚本攻击
- 特点
- 通常难以从UI上感知
- 窃取用户信息
- 绘制弹窗,诱骗用户点击/填写表单
- 类型
- Stored XSS 存储型攻击
- 恶意脚本存入数据库
- 访问页面->读数据
- 危害最大,所有用户
- Stored XSS 存储型攻击
- Reflected XSS
- 不涉及数据库
- 从URL上攻击
- Mutatin-based XSS
- 利用浏览器渲染DOM特性
- 不同浏览器会有不同
- DOM-based-XSS
- 不需要服务器参与
- 恶意攻击发起+执行,全在浏览器完成
Cross-Site request forgery(CSRF)
- 用户不之情前提下
- 利用用户权限
- 构造指定HTTP请求,窃取或修改用户敏感信息
iframe攻击
anti-pattern
SQL injection
- 不止于SQL
- CLI
- OS command
- Server-Side Request Forgery(SSRF)服务端伪造请求
- 严格来说SSRF不是injection,但是原理类似
Denial of Service(Dos)
- 通过某种方式构造特定请求,导致服务器资源被显著消耗,来不及响应更多请求,导致请求挤压,进而雪崩效应
正则表达式--贪婪模式
Distributed Dos(DDos)
- 短时间大量僵尸请求流量,服务器不能及时处理,请求堆积,雪崩效应
- 不搞复杂量大完事儿
传输层攻击(中间人攻击)
防御篇
XSS 的防御
- 主流框架默认防御 XSS
- google-closure-library服务端(Node)
- DOMPurify
- 必须动态生成DOM,留意以下
- 调用了DOMparser
- 上传svg文件,对svg进行扫描
- Blob动态生成script
- 自定义样式
同源策略Same-origin Policy
- 对http请求同源一般都是没问题的
Content Security Policy(CSP)
防御 CSRF 的正确姿势
- Referer
- token防御
- 避免用用户信息被携带 SameSite Cookie
- SameSite VS CORS
- Case by Case?No
防御 DoS
- Regex DoS
- DDos