浏览器安全
一.同源策略
影响同源策略的因素
-
Host(域名或IP地址,如果是IP地址则看做一个根域名)
-
子域名
-
端口
-
协议
注意 :页面存放JavaScript文件的域并不重要,重要的是加载JavaScript页面所在的域是什么
-
XMLHttpRequest不能跨域访问资源,如果能跨域访问,可能会导致一些敏感数据泄露,CSRF的token,可以通过目标域返回的HTTP头来授权是否允许跨域,原因是,JavaScript一般无法控制HTTP头
二.浏览器沙箱
-
浏览器的多进程架构使安全性大大提高
-
浏览器结合了dep,aslr,safeSeh等操作系统提供的技术
-
第三方插件出现漏洞,flash,java,pdf,.net framework
Google Chrome 的多进程架构
-
浏览器进程
-
渲染进程
-
插件进程
-
扩展进程
渲染进程由sandbox
隔离网页代码要与浏览器内核进程通信,操作系统通信都需要通过IPC channel,进行一些安全检查。
sandbox
目的:
-
让一些不可信任的代码运行在一定的环境中,限制不可信任的代码访问隔离区之外的资源
-
如果要跨越sandbox进行数据交换,只能通过特定的数据通道,比如 API
三.恶意网站拦截
浏览器的拦截而已网站功能都是基于黑名单的,主流浏览器都支持EVSSL证书(全球数字证书颁发机构与浏览器厂商一起打造的增强型证书)
工作原理:
一般都是浏览器周期性地从服务器端获取一份最新的恶意网站报告,用户上网时访问的网站存在于此名单中,就会弹出一个警告页面
分为两种
-
挂马网站,一般包含恶意的脚本如
javascript,flash
,通过利用浏览器的漏洞执行shellcode,在用户电脑植入木马 -
钓鱼网站。