这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
攻击篇
Cross-Site Scripting(XSS)
原理:利用了开发者盲目信任用户的内容,直接转化成dom。
XSS的特点:
- 难以从UI上进行感知,一般都是暗地里执行脚本。
- 会窃取用户的信息,比如cookie/token这些。
- 可能会绘制UI,比如说弹窗,以此来诱骗用户填入关键信息。
Stored XSS
- 恶意脚本被存在数据库中
- 访问页面读数据时会被恶意脚本攻击
- 危害大,对全用户可见
Reflected XSS
- 不涉及数据库
- 从URL上攻击
DOM-based XSS
- 不需要服务器的参与
- 恶意攻击的发起和执行都在浏览器进行
Mutation-based XSS
- 利用了浏览器DOM的特性(独特优化)
- 不同浏览器,会有区别(按浏览器进行攻击)
CSRF(Cross-site request forgery)
原理:跨站伪造请求进行攻击
特点
- 在用户不知情的前提下
- 利用用户权限(cookie)
- 构造指定HTTP请求,窃取或修改用户敏感信息
Injection
原理:注入相关代码进行操作以此来攻击。
SQL Injection
除了SQL Injection 还有许多的Injection
DoS(Denial of Service)
原理:通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应更多的请求,导致请求挤压,进而触发雪崩效应
ReDoS 基于正则表达式的DoS攻击
利用正则表达式的贪婪性
logic DoS
DDoS
原理:僵尸机器大量访问服务器,但不回应,导致服务器不能响应全部的请求,导致请求堆积,进而雪崩效应,无法响应新的请求。 总结一句话说就是:量大就完事了
基于传输层的攻击
中间人攻击:处于客户端和服务端中间,将信息截取、篡改、发送。