浏览器特性和安全策略 ——合天网安实验室学习笔记
同源策略
同源策略是浏览器最核心也最基本的安全功能。
本域脚本(主要为JavaScript)只能读写本域内的资源,而无法访问其他域的资源。
若没有同源策略,Cookie则可被任意读取,变得非常不安全。
举例
打开百度,F12查看网页元素,查找网页Cookie:
也可在开发者工具的控制台下获取网页Cookie,输入“”document.cookie":
查看调试器时会发现除www.baidu.com外还有其他一些域:
但是这些域的Cookie为什么没有被读取?因为同源策略的存在,所以仅显示一个。
沙箱框架
Sandbox(沙箱)是指一种技术,在这种技术中,软件运行在操作系统受限制的环境中。由于该软件在受限制的环境中运行,即使一个闯入该软件的入侵者也不能无限制访问操作系统提供设施;获得该软件控制权的黑客造成的换失也是有限的。此外,如果攻击者要获得对操作系统的完全控制,他们就不得不攻克沙箱限制。
属性值
值 | 描述 |
---|---|
“” | 应用以下所有的限制。 |
allow-same-origin | 允许 iframe 内容被视为与包含文档有相同的来源。 |
allow-top-navigation | 允许 iframe 内容从包含文档导航(加载)内容。 |
allow-forms | 允许表单提交。 |
allow-scripts | 允许脚本执行。 |
举例
创建一个html文件:
打开该网页:
该页面可完成提交表单、脚本等功能:
flash安全沙箱
Flash安全沙箱分为本地沙箱和远程沙箱
基本原则
- 位于同一沙箱中的资源始终可以互相访问
- 远程沙箱中的swf始终不能访问本地文件和数据
跨域
若站点根目录下存在“crossdomain.xml”文件,则可进行跨域访问。
举例
这里说明了允许的域名和请求头允许的域名。
后果
错误的配置会导致信息泄露、CSRF等严重的安全问题。
Cookie安全策略
- Domain:指定cookie的有效域
- Path:指定cookie的有效url
- Secure:表示仅在https请求中提交cookie
- http:指的是httpOnly。如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性。
内容安全策略(CSP)
内容安全策略 (CSP, Content Security Policy) 是一个附加的安全层,用于帮助检测和缓解某些类型的攻击,包括跨站脚本 (XSS) 和数据注入等攻击。 这些攻击可用于实现从数据窃取到网站破坏或作为恶意软件分发版本等用途。
CSP 以白名单的机制对网站加载或执行的资源起作用。在网页中,这样的策略通过 HTTP 头信息或者 meta 元素定义。通过编码在HTTP响应头中的指令来实施策略。