XSS
XSS 攻击
跨站脚本攻击,即攻击方通过漏洞,让我们自己的网站上跑其构造的脚本
攻击原理

如图,比如我们 Content 是攻击者提交的信息,里面带有自定义脚本,如果 content 被原样渲染的话,则会执行攻击者的脚本
危害
获取网站上的各种信息
- 如获取我们的 Cookie 信息等,破解 CSRF 攻击防范方法中的 token 方法
- 获取其他的用户信息,如账号密码
修改网站的信息
- 如将用户进行错误的重定向
- 会话劫持,进行用户未授权的一些操作
- XSS 蠕虫,将攻击代码传染到其他的用户身上
结合其他漏洞,甚至破坏掉被攻击方的服务器
防范方法
- 过滤 HTTML JS CSS 标签
- 过滤异常字符编码
常用的前端开发框架,如 Vue, 对 XSS 一般都会有简单的防范措施(HTML 内容和动态绑定的 attribute 会自动转义),但部分地方还需要开发者多加关注(如 v-html, innerHTML, 可使用 xss 库手动转义)