XSS防范
Posted sunhang32
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS防范相关的知识,希望对你有一定的参考价值。
XSS全称Cross Site Scripting
跨站脚本攻击
- XSS (Cross-Site Scripting),跨站脚本攻击,因为缩写和 CSS重叠,所以只能叫 XSS。跨站脚本攻击是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的html标签或javascript进行的一种攻击。
说白了: 就是往页面里面去追加html或者js
造成的影响有:
- 利用虚假输入表单骗取用户的个人信息。
- 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求。
- 显示伪造的文章或图片。
XSS的分类
- 反射型
通过url直接注入,可以获取到cookie等等
http://localhost:3000/?from=<script src="xxx"> //例如这段脚本
- 存储型
存储到DB后读取时注入
比如先利用cookie登录到账号之后,把一段脚本注入到评论里面,那么以后输入评论或者刷新页面都会自动去执行这个脚本
XSS有哪些危害呢
- 获取cookies
- 欺骗用户
- 窃取用户的密码和登录状态
- 发出请求
- 劫持前段逻辑
- 获取页面数据
影响页面布局
那么我们如何防范呢?1一般的组件现在都可以防范
比如vue可以设置
v-html
直接让他过滤掉html文本2设置HEAD
ctx.set(‘X-XSS-Protection‘, 0) // 禁用XSS过滤
3手动设置黑白名单
比如说通过字符串去过滤接收到的字符串内容
4httpOnly Cookie
这是预防XSS攻击窃取用户cookie最有效的防御?段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以避免该用户的cookie被客户端恶意JavaScript窃取,保护用户cookie信息。(一般情况下默认开启的)
使用: response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly")
总结一句话: XSS是一种最基本的攻击方式,就是网页面去追加html和js,目前主流的框架都已经提供了或者默认了防御
以上是关于XSS防范的主要内容,如果未能解决你的问题,请参考以下文章