HTML5安全
2019-05-30 本文已影响0人
Yix1a
-
HTML5新标签
-
新标签的XSS
- <video>和<audio>
- HTML5种新增的一些标签和属性,使得XSS等Web攻击产生了新的变化,为了总结这些变化,有安全研究者建立了一个HTML5 Security CheatSheetd 项目(http://code.google.com/p/html5securtiy)。
-
iframe的sandbox
- HTML5中,专门为iframe定义了一个新的属性,叫sandbox。使用sandbox这个属性后,<iframe>标签加载的内容将被视为一个独立的"源",
"" 启用所有限制条件 allow-same-origin:允许同源访问 allow-top-navigation:允许访问顶层窗口 allow-forms: 允许访问顶层窗口 allow-scripts:允许执行脚本
-
Link Types:noreferrer
- <a>和<area>标签定义了一个新的Link Types:noreferrer。
- 标签指定了noreferrer后,浏览器在请求该标签指定的地址时不再发送Referer.
- 这种设计是出于保护敏感信息和隐私的考虑。
-
Canvas的妙用
- <canvas>标签让JavaScript可以在页面中直接操作图片对象,也可以直接操作像素,构造出图片区域,
- Canvas提供的强大功能,甚至可以用来破解验证码。
-
新标签的XSS
-
其他安全问题
-
Cross-Origin Resource Sharing
- Origin头用来标记源,Acess-Control-Allow-origin用来标记允许访问的域
-
postMessage——跨窗口传递消息
- postMessage允许每一个window(包括当前窗口、弹出窗口、iframes等)对象往其他窗口发送文本消息,从而实现跨串口的消息传递,这个功能是不受同源策略的限制的。
- 在使用该函数时,两个问题需要注意
- 在必要时,可以在接受窗口验证Domain,甚至验证URL,以防止来自非法页面的消息。这实际上是在代码中实现一次同源策略的过程。
- 有可能产生DOM based XSS,因该进行防御
-
Web Storage
- Web Storage 分为Session Storage和Local Storage。Session Storage关闭浏览器就会失效,而Local Storage则会一直存在。Web Storage就想像一个非关系数据库,由Key-Value对组成,可以通过JavaScript对其进行操作。
- 不同于Cookie的是他没有长度限制,攻击者可能将恶意代码保存在Web Storage中。
- Web Storage中保存的敏感信息也有可能被获取。
-
Cross-Origin Resource Sharing