近年来随着互联网的发展,人们发现浏览器才是互联网最大的入口,绝大多数用户使用互联网的工具是浏览器。因此浏览器市场的竞争也日趋白热化。
浏览器安全在这种激烈竞争的环境中被越来越多的人所重视。一方面,浏览器天生就是一个客户端,如果具备了安全功能,就可以像安全软件一样对用户上网起到很好的保护作用;另一方面,浏览器安全也成为浏览器厂商之间竞争的一张底牌,浏览器厂商希望能够针对安全建立起技术门槛,以获得竞争优势。
浏览器是互联网的重要入口,在安全攻防中,浏览器的作用也越来越被人们所重视。在以往研究攻防时,大家更重视的是服务器端漏洞;而在现在,安全研究的范围已经涵盖了所有用户使用互联网的方式,浏览器正是其中最为重要的一个部分。
浏览器的安全以同源策略为基础,加深理解同源策略,才能把握住浏览器安全的本质。
1、同源策略
同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现。
对于客户端Web安全的学习与研究来说,深入理解同源策略是非常重要的,也是后续学习的基础。很多时候浏览器实现的同源策略是隐性、透明的,很多因为同源策略导致的问题并没有明显的出错提示,如果不熟悉同源策略,则可能一直都会想不明白问题的原因。浏览器的同源策略,限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性。
这一策略极其重要,试想如果没有同源策略,可能 a.com 的一段JavaScript脚本,在b.com未曾加载此脚本时&#x