第12章 攻击其他用户
12.1 XSS的分类
12.1.1 反射型XSS
使用一个包含消息文本的参数,并在响应中将这个文本返回给用户
12.1.2 存储型XSS
用户提交的数据被保存在应用程序中,然后不经适当过滤或净化就显示给其他用户
12.1.3 基于DOM的XSS
客户端JavaScript通过浏览器的文本对象模型(DOM)从URL中提取数据,并对这些数据进行处理,然后动态更新页面,就可能易于受到基于DOM的XSS攻击。
12.2 进行中的XSS攻击
12.2.1 真实XSS攻击
- Samy蠕虫
12.2.2 XSS攻击有效载荷
- 虚拟置换
- 注入木马
- 诱使用户执行操作
- 利用信任关系
- 扩大客户端攻击范围
12.2.3 XSS攻击的传输机制
- 基于反射型与基于DOM的XSS攻击
- 传送保存型XSS攻击
- 链接XSS与其它攻击
12.3 查找并利用XSS漏洞
12.3.1 查找并利用反射型XSS漏洞
- 确认用户输入的反射
- 测试引入脚本的反射
- 探查防御性过滤
- 避开基于签名的过滤
- 避开净化
- 突破长度限制
- 实施有效的XSS攻击
12.3.2 查找并利用保存型XSS漏洞
- 在电子邮件应用程序中测试XSS
- 在上传文件中测试XSS
12.3.4 查找并利用基于DOM的XSS漏洞
12.4 防止XSS攻击
12.4.1 防止反射型与保存型XSS漏洞
- 确认输入
- 确认输出
- 消除危险的插入点
- 允许有限的HTML
12.4.2 防止基于DOM的XSS漏洞
- 确认输入
- 确认输出