Web安全1&沙箱隔离

时间:2023-03-09 03:35:10
Web安全1&沙箱隔离

1.web安全

Web安全的本质是信任问题
•由于信任,正常处理用户恶意的输入导致问题的产生
•非预期的输入(就是不是程序员预期的客户的输入)
安全是木桶原理,短的那块板决定的木桶世纪能装多少水,同样的,假设把99%的问题都处理了,那么1%的余留会是造成安全问题的那个短板
2.当我们访问一个网址的时候,这中间发生了什么?
•输入网址
•浏览器查找域名的IP地址
•浏览器给Web服务器发送一个HTTP请求
•服务端处理请求
•服务端发回一个HTTP响应
•浏览器渲染显示HTML
3.cookie与session的区别
(1)cookie通常的数据保存在客户端浏览器,session保存在服务器
(2)服务端保存状态机制需要在客户端做标记,所以session可能借助cookie机制
(3)cookie通常用于客户端保存用户登录状态
 cookie
Web安全1&沙箱隔离
字段 说明
Name Cookie名称
Value Cookie的值
Domain 用于指定Cookie的有效域
Path 用于指定Cookie的有效URL路径
Expires 用于设定Cookie的有效时间
Secure 如果设置该属性,仅在HTTPS请求中提交Cookie
Http 其实应该是HttpOnly,如果设置该属性,客户端JavaScript无法获取Cookie值
seesion
Web安全1&沙箱隔离

字段

说明

Key

Session的key

Value

Session对应key的值

4.浏览器解析顺序和浏览器解码顺序
(1)解析顺序
Web安全1&沙箱隔离
 (2)解码顺序
 Web安全1&沙箱隔离
5.DOM树
Web安全1&沙箱隔离
6.浏览器特性与安全策略
(1)同源策略
同源策略规定:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源。
同域与不同域:
*域名:不带www的
二级域名:带www的

下面是与www.test.com同域情况

域名 是否同域 原因
https://www.test.com 不同域 协议不同,HTTP与HTTPS为不同协议
http://fooying.test.com 不同域 域名不同,www与fooying为不同的子域
http://test.com 不同域 域名不同,*域与www为不同子域
http://www.test.com:81 不同域 端口不同,81与默认的80为不同端口
http://www.test.com/fooying 同域 只是多了目录,符号协议、域名、端口相同
 授权
HTTP响应头返回
Access-Control-Allow-Origin:http://www.fooying.com
 7.沙箱框架(Sandboxed frame)
(1)是对常规的<iframe>表现行为的扩展,它能让*页面对嵌入的子页面及这些子页面的子资源设置一些额外的限制。
(2)通过<iframe>的参数实现限制,如,可以在<iframe sandbox="allow-scripts allow-forms">,比如百度搜索,如果没有这allow-forms,则页面跳转不了

参数

说明

Allow-scripts

是否允许执行JavaScript脚本,没有则不允许

Allow-forms

是否允许使用form表单,没有则不允许

Allow-top-navigation

是否允许嵌入子页面控制*窗口的地址跳转,没有则不允许

Allow-same-origin

是否允许访问同源数据,没有则不允许

8.Flash安全沙箱(用来播放flash的)
分为本地沙箱和远程沙箱
类似于同源策略,在统一域名内的资源会被放到一个安全组下,称为安全沙箱
Web站点通过crossdomain.xml文件配置可以提供允许的域, 跨域访问本域上内容的权限(放于站点根目录)
Web安全1&沙箱隔离
9.cookie安全策略
Domain 用于指定Cookie的有效域
Path 用于指定Cookie的有效URL路径
Secure 如果设置该属性,仅在HTTPS请求中提交Cookie
Http 其实应该是HttpOnly,如果设置该属性,客户端JavaScript无法获取Cookie值
10.内容安全策略(Content Security Policy)CSP
通过编码在http响应头中的指令来实施策略
如:Content-Security-Policy:script-src 'self'  https://www.test.com
Web安全1&沙箱隔离
Web安全1&沙箱隔离