白帽子讲web安全读书笔记(Ⅱ)

二.客户端脚本安全----浏览器安全

1.同源策略(Same Origin Policy):DOM,Cookie,XMLHttpRequest,Flash,Java Applet等

浏览器的同源策略,限制了来自不同源的document或脚本,对当前document读取或设置某些属性,确保来自不同Origin的对象无法相互干扰。是浏览器安全的基础。

如JavaScript的同源策略:host,子域名,端口,协议完全相同才算同源。

a.标签

通过<script><img><iframe><link>等标签的src属性可以跨域加载资源,实际上是浏览器发出了一次GET请求,不受同源策略限制,这样加载的资源的origin属于其运行页面的url,而非资源本身的url。加载的JavaScript不能读、写返回的内容。

b.XMLHttpRequest

可访问同源对象的内容,默认不能跨域,否则会导致敏感数据泄露,如Token。基于信任“JavaScript无法控制HTTP头”,目标域返回的HTTP可以授权是否允许XMLHttpRequest跨域访问。

c.Flash

网站提供crossdomain.xml文件判断当前源是否允许当前“源”的Flash跨域访问目标资源。Flash9 之后还实现MIME检查确认crossdomain.xml的合法性,以及crossdomain.xml是否在根目录下,防止攻击者上传crossdomain.xml文件绕过同源策略。

2.浏览器沙箱

Google Chrome是首个采取多进程架构的浏览器(浏览器进程,渲染进程,插件进程,扩展进程)。

多架构的好处:

1.安全性

渲染进程由Sandbox隔离,网页代码与浏览器内核、操作系统通信都要通过IPC Channel,其中会有一些安全检查。(将不可信任的代码隔离起来)

但加载的第三方插件不受Sandbox管辖,Flash、Java、PDF、.Net Framework都是浏览器攻击的热点。

2.稳定性

发生崩溃时只会影响一个Tab页,其他页面不受影响。

3.恶意网址拦截

恶意网址:

1.挂马。包含如JavaScript或Flash的恶意脚本,利用浏览器漏洞执行shellcode,向用户植入木马。

2.钓鱼。模仿知名网站的相似页面窃取信息。

拦截方法:

1.黑名单。 PhishTank、Google的SafeBrowsingAPI。

2.白名单。EVSSL证书,全球数字证书颁发机构和浏览器厂商一起打造的增强型证书。

 

posted @ 2018-06-12 15:23  バニー  阅读(475)  评论(0编辑  收藏  举报