白帽子-第二篇 客户端脚本安全

第二章 浏览器安全

2.1 同源策略

浏览器的同源策略,限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。
影响源的因素有:host(域名或IP地址)、子域名、端口、协议。
需要注意的是,对于当前页面来说,页面内存放JavaScript文件的域并不重要,重要的是加载JavaScript页面所在的域是什么。

在浏览器中,<script>、<img>、<iframe>、<link>等标签都可以跨域加载资源,而不受同源策略的限制。这些带”src“属性的标签每次加载时,实际上是由浏览器发起了一次GET请求。不同于XMLHttpRequest的事,通过src属性加载的资源,浏览器限制了JavaScript的权限,使其不能读、写返回的内容。
但是XMLHttpRequest收到同源策略的约束,不能跨域访问资源。

互联网是开放的,随着业务的发展,跨域请求的需求越来越迫切,因此W3C委员会制定了XMLHttpRequest跨域访问标准。他需要目标域返回的HTTP头来授权是否允许跨域访问。因为HTTP头对于JavaScript来说一般是无法空至的。所以认为这个方案是可以实施的。
注意:跨域访问方案的安全基础就是信任”JavaScript无法控制该HTTP头“,如果此信息基础被打破,则此方案也将不再安全。

2.2 浏览器沙箱

浏览器的多进程架构,将浏览器的各个功能模块分开,各个浏览器实例分开,当一个进程崩溃时,也不会影响到其他进程。
Google Chrome 是第一个采取多进程架构的浏览器,Google Chrome的主要进程分为:浏览器进程、渲染进程、插件进程、扩展进程。
多进程架构最明显的一个好处是,相对于单进程浏览器,在发生崩溃时,多进程浏览器只崩溃当前Tab页,而单进程浏览器会崩溃整个浏览器进程。

渲染引擎由Sandbox隔离,网页代码要与浏览器内核通信、与操作系统通信都要通过IPC channel。
Sandbox即沙箱,设计目的一般是为了让不可信任的代码运行在一定的环境中,限制不可信任的代码访问隔离去以外的资源。

2.3 恶意网址拦截

恶意网址拦截的工作原理很简单,一般是浏览器周期性的从服务器端获取一份最新的恶意网址黑名单,如果用户上网时访问的网址存在于此黑名单中,浏览器会抬出一个警告页面。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值