浏览器安全概述

浏览器安全概述

  • 浏览器的工作机制:向整个互联网请求指令,请求到以后几乎不加任何质疑地执行。

揭秘浏览器

与Web应用休戚与共
同源策略(SOP)
  • 目标:限制不同源地资源之间地交互,而同一来源的资源间的交互是不受限制的
  • 同源:对于不同的页面,如果他们主机名、协议端口都相同,则为同一来源
HTTP首部

首部内容决定了接收方如何处理被发送的内容

标记语言

标记语言用于描述内容的显示方式。

  • HTML
  • XML
CSS

CSS(层叠样式表)是浏览器为网页内容指定样式的主要方法。

脚本
  • JavaScript
  • VBScript(只有微软浏览器支持)
DOM

DOM(文档对象模型)是在浏览器中操作HTML或XML文档的API,规范定义了通过脚本操作实时文档的方法。

渲染引擎

渲染引擎负责把数据转换为用户在屏幕上可以看到的样式。

  • WebKit:目标是成为通用的软件应用程序交互与展示引擎
  • Trident(闭源、微软)
  • Gecko(Firefox)
  • Presto
  • Blink(Google)
Geolocation

Geolocation API 为移动和桌面浏览器访问设备地理位置信息而开发的。

Web存储

Web存储(DOM存储),可看成超级cookie。

  • 存储机制
    • 本地存储:将数据持久保存在本地
    • 会话存储:只在会话期间保存数据
  • Web存储与cookie的区别
    • 只有JavaScript可以创建Web存储,HTTP首部不行
    • Web存储中的数据不会随请求发送给服务器
    • 本地存储没有所谓的路径限制

同源策略也适用于本地存储,而且每个来源都会分开。其他来源的资源不能访问当前的本地
存储,子域也不行。

跨域资源共享(CORS)
  • 跨域资源共享(CORS)是一个让来源忽略同源策略的规范。
  • Web应用可以通过XMLHttpRequest跨域访问任何资源(浏览器向某服务器发送了跨域XMLHttpRequest请求),服务器则通过HTTP首部通知浏览器它是否接受访问:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET
HTML5
  • WebSocket:可以在浏览器与服务器之间打开一条即时响应的全双工信道。
  • Web Worker:可以看作在浏览器后台运行的线程
    • 两种Web Worker
      • 在同一来源的资源间共享
      • 只能与创建它的函数通信
  • 操作历史
  • WebRTC:实现浏览器之间的互相通信
隐患

强化防御的发展

HTTP首部
内容安全策略(CSP)

内容安全策略(CSP)是为了降低XSS隐患,定义了指令与内容的差别。
服务器会发送CSP HTTP首部Content-Security-PolicyX-Content-Security-Policy,以规定可以从哪里加载脚本,同时还规定了对这些脚本的限制。

安全cookie标志

secure cookie的目的是告诉浏览器不要通过任何不安全的渠道发送cookie。

HttpOnly cookie标志

HttpOnly cookie标志指示浏览器禁止任何脚本访问cookie内容。

X-Content-Type-Options

nosniff指令可以强制浏览器按照Content-type首部来渲染内容。

Strict-Transport-Security

Strict-Transport-Security指示浏览器必须通过有效的HTTPS通道与网站通信。

X-Frame-Options

X-Frame-Options HTTP首部用于阻止浏览器中的页面内嵌框架,保证不把接收到的页面显示在一个IFrame中。

反射型XSS过滤
沙箱
浏览器沙箱

隔离操作系统赋予浏览器的权限和在浏览器中运行的子程序的权限。

IFrame沙箱

沙箱IFrame指的是给这个嵌入的帧添加一个HTML5属性,只能限于与一个来源通信。

反网站钓鱼和恶意软件
混入内容

混入内容网站:某个来源使用HTTPS协议,然后又通过HTTP请求内容。

核心安全问题

攻击面
  • 升级速度
  • 静默更新
  • 扩展
  • 插件
放弃控制

浏览器必须将很大一部分控制权让渡给服务器。

TCP协议控制
加密通信

浏览器与服务器间加密通信的目标,是保护通信双方传输的数据安全,但也没有机会检查到恶意数据。

同源策略

浏览器攻击方法

整个攻防流程

初始化

初始控制:每次攻击都以在浏览器中运行指令为开端。为此浏览器必须遇到并执行你控制的指令。

持久化

这个阶段,你要尽量降低失去浏览器控制权的可能,不让用户切换网址,或者关闭浏览器。

攻击

七种核心攻击方法:

  • 绕过同源策略
  • 攻击用户
  • 攻击浏览器
  • 攻击扩展
  • 攻击插件
  • 攻击Web应用
  • 攻击网络
参考文献

《黑客攻防技术宝典——浏览器》

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值