有关网络安全,和前端最密切的,应该就是XSS漏洞攻击了。之前看SegmentFault的讲堂的课程,作出如下总结。
一.攻击的一些成因:
- 劫持(https)
- 缓存投毒(https,vpn)
- 文件投毒
- 客户端投毒(插件,二次验证)
- 猥琐绕过,反射型,存储型XSS!!!
二.编码
1. html编码:10,16进制,别名(可混合,引号不是必要)
2. js编码:8,16进制,unicode
3. URL编码:encodeURI/decodeURI encodeURIComponent/decodeURIComponent
escape/unescape(对字符串进行编码,不适合URL)
4. Base64编码:href=
猥琐绕过成因:
- 提前闭合标签
- 注释后续代码
payload(有效荷载)
<svg onload=alert(1)>
<a href="javascript:alert(1)"></a>
iframe的srcdoc属性里面是可以直接使用script片段的。
XSS可以造成密码泄漏。
*https传输层的加密。
但是XSS是在端的。*
危险的数据放在引号里面,然后转义
防护原则:
- 共用cdn,第三方服务Jsonp接口。用户输入,后端吐回数据。(都要慎重对待)
- 正确转义(html正文,标签,事件属性,URL,用户富文本输入)
- 不要在任何地方插入不可信的数据。
- 配置安全协议头
- 做好监控
一些概念:
- 存储型XSS
- 渗透测试
- CSRF(增删改操作严禁get请求,敏感操作一定要判断请求来源)
- SQL注入 0-day
- DDOS(洪水攻击),XSS可以形成ddos
推荐书:《白帽子讲Web安全》