菜菜仙人 發表於 2015-9-26 09:41:36

HTML5安全风险之Web Storage攻击详解

<p><strong>一、WebStorage简介</strong></p>
<p>HTML5支持WebStorage,开发者可以为应用创建本地存储,存储一些有用的信息。例如LocalStorage可以长期存储,而且存放空间很大,一般是5M,极大的解决了之前只能用Cookie来存储数据的容量小、存取不便、容易被清除的问题。这个功能为客户端提供了极大的灵活性。</p>
<p><strong>二、攻击方式</strong></p>
<p>LocalStorage的API都是通过Javascript提供的,这样攻击者可以通过XSS攻击窃取信息,例如用户token或者资料。攻击者可以用下面的脚本遍历本地存储。</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201509/201592694628148.jpg?201582694643" alt="" /></p>
<p align="left">同时要提一句,LocalStorage并不是唯一暴露本地信息的方式。我们现在很多开发者有一个不好的习惯,为了方便,把很多关键信息放在全局变量里,例如用户名、密码、邮箱等等。数据不放在合适的作用域里会带来严重的安全问题,例如我们可以用下面的脚本遍历全局变量来获取信息。</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201509/201592694701329.jpg?201582694712" baiduimageplusstatus="2" baiduimageplusrect="null" alt="" /></p>
<strong></strong>
<p><strong>三、攻击工具</strong></p>
<p>HTML5dump的定义是&ldquo;JavaScriptthat dump all HTML5 local storage&rdquo;,它也能输出HTML5 SessionStorage、全局变量、LocalStorage和本地数据库存储。</p>
<p align="center"><img id="theimg" onclick="window.open(this.src)" src="https://img.jbzj.com/file_images/article/201509/201592694727191.jpg?201582694737" baiduimageplusstatus="2" baiduimageplusrect="null" alt="" /></p>
<p><strong>四、防御之道</strong></p>
<p>对于WebStorage攻击的防御措施是:</p>
<p>1、数据放在合适的作用域里</p>
<p>例如用户sessionID就不要用LocalStorage存储,而需要放在sessionStorage里。而用户数据不要储存在全局变量里,而应该放在临时变量或者局部变量里。</p>
<p>2、不要存储敏感的信息</p>
<p>因为我们总也无法知道页面上是否会存在一些安全性的问题,一定不要将重要的数据存储在WebStorage里。</p>
<p>以上就是Web Storage攻击详细介绍,希望对大家学习Web Storage攻击有所帮助。</p>
頁: [1]
查看完整版本: HTML5安全风险之Web Storage攻击详解