html5 web storage攻击,HTML5安全风险详析之二:Web Storage攻击
**一、WebStorage簡介**
HTML5支持WebStorage,開發者可以為應用創建本地存儲,存儲一些有用的信息。例如LocalStorage可以長期存儲,而且存放空間很大,一般是5M,極大的解決了之前只能用Cookie來存儲數據的容量小、存取不便、容易被清除的問題。這個功能為客戶端提供了極大的靈活性。
**二、攻擊方式**
LocalStorage的API都是通過Javascript提供的,這樣攻擊者可以通過XSS攻擊竊取信息,例如用戶token或者資料。攻擊者可以用下面的腳本遍歷本地存儲。
~~~
if(localStorage.length){
for(I in localStorage) {
console.log(i);
console.log(localStorage.getItem(i));
}
}
~~~
同時要提一句,LocalStorage并不是唯一暴露本地信息的方式。我們現在很多開發者有一個不好的習慣,為了方便,把很多關鍵信息放在全局變量里,例如用戶名、密碼、郵箱等等。數據不放在合適的作用域里會帶來嚴重的安全問題,例如我們可以用下面的腳本遍歷全局變量來獲取信息。
~~~
for(iin window) {
obj=window[i];
if(obj!=null||obj!=undefined)
var type =typeof(obj);
if(type=="object"||type=="string") {
console.log(“Name:”+i);
try {
my = JSON.stringify(obj);
console.log(my);
} catch(ex) {}
}
}
~~~
**三、攻擊工具**
[HTML5dump](http://code.google.com/p/html5dump/)的定義是“JavaScriptthat dump all HTML5 local storage”,它也能輸出HTML5 SessionStorage、全局變量、LocalStorage和本地數據庫存儲。

**四、防御之道**
對于WebStorage攻擊的防御措施是:
1、數據放在合適的作用域里
例如用戶sessionID就不要用LocalStorage存儲,而需要放在sessionStorage里。而用戶數據不要儲存在全局變量里,而應該放在臨時變量或者局部變量里。
2、不要存儲敏感的信息
因為我們總也無法知道頁面上是否會存在一些安全性的問題,一定不要將重要的數據存儲在WebStorage里。
原創文章,轉載請注明:來自[蔣宇捷的博客](http://blog.csdn.net/hfahe)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的html5 web storage攻击,HTML5安全风险详析之二:Web Storage攻击的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100万退休怎么理财?有哪些理财方式?
- 下一篇: 信用卡怎么转账到银行卡 有额外费用要承担