WEB安全方向
一、浏览器安全
1. 同源策略:
- host(域名或IP地址)
- 子域名
- 端口
- 协议
非同源影响:document.cookie访问,缓存访问,DOM操作
2.浏览器沙箱安全机制
WebKit 中并没有提供沙箱机制的支持,是 Chromium 支持沙箱的实现方式。
概念:
二. XSS(跨站脚本攻击)
1. 简介
XSS 全称是 Cross Site Scripting,其含义是 执行跨域的 JavaScript 脚本代码。
反射性XSS(多半于后端处理):把用户输入的数据“反射”给浏览器;
存储型XSS(多半于后端处理):会把用户输入的数据“存储”在服务端;
DOM Based XSS(前端处理):修改DOM节点形成的XSS,使用decodeURIComponent赋值给InnerHTML
2. xss防御
认证cookie,带HttpOnly,浏览器Set-Cookie
输入输出检查,进行特殊符号编码
富文本处理:iframe,script,base,form,使用白名单处理
三. CSRF(跨站点请求伪造)
简介:攻击者诱使用户访问一个恶意网址,并以该用户身份在第三方站点里执行一次操作
1. CSRF进阶
浏览器的cookie策略
Session Cookie
Third-party Cookie:IE、Safari禁止发送,FireFox、Opera、Chrome、Andriod允许
2. P3P头的副作用(Platform for Privacy Preferences)
P3P头是W3C制定的一项关于隐私的标准,如果网站返给浏览器的HTTP头中包含P3P头,将允许浏览器发送第三方Cookie
3. GET和POST,提交表单,服务器端需要做白名单处理
4. CSRF防御
Anti CSRF Token,在post提交表单时,服务器端对请求进行校验(验证码校验,token随机值)
验证码:强制用户必须与应用进行交互
四. 网络攻击
1. DNS劫持(服务器请求拦截,勾结第三方运营商在IP做了手脚,但成本高)
2. http内容劫持(弹出其他广告), 防御:https(https加密,现处理方式,但服务器被攻击或者是运营商工作人员问题也是防御不了)
a. HTTPS 是在 HTTP 协议之上使用 SSL(Secure Socket Layer) 技术来对传输的数据进行加密,从而保证了数据的安全性。
3. DDOS分布式拒绝服务攻击:利用合理的请求,造成资源过载,导致服务器不可用。
a. DDOS常见攻击三种:
SYN flood攻击:针对网络tcp三次握手;
CC:应用层攻击,针对消耗比较大的接口进行不断请求(比如对redis请求接口问题);
lowloris: 服务器只能处理1000多个请求,这时候伪造1000多个请求,导致用户无法进入服务。
b. DDOS防御常见处理:流量处理,IP+cookie限制频率,CDN分流,请求较大的处理。
4. 短信轰炸:伪造一批手机号(加验证码处理)