2011-09-16 19 views
2

クライアントブラウザにローカルに保存されているすべてのソースですべてのローカルストレージデータをリストアウトできますか?すべてのソースでhtml5 localstorageデータを一覧表示

私はクロスサイトスクリプティング(XSS)が異なるソースのローカルストレージデータを取得/変更できることを知っています。そのためには、他のサイトのソースURLを知る必要があります。そのため、XSSがソースサイトを認識していない場合でも、リストを見つけてクロスサイトローカルストレージデータを変更できます。

私の考えは、ローカルストレージにデータを保存し、それをランダムなソースに添付し、ソースが実際にクライアントのキーになることです。そのキーに基づいて、私はlocastorageの特定のソースからデータを取り戻すことができます。全体のアイデアは、この永続的なデータにアクセスする他のサイトを防ぐことです。

+0

興味深い概念が、私はあなたが直接、別のサイトのローカルストレージを要求することはできません確信している(すなわちのlocalStorageを使用。)。しかし、私は、サイトbからの重要なデータを返すサイトbのjsスクリプトのサイトaからのajaxリクエストの実行を想像することができます。うーん、私はそれに渦を立てます。代わりに、一意のID(暗号化されたjsonファイルでもよい)によってクラウドストレージからデータを取得することがあります。 – Mark

答えて

2

window.localStorage.keyが解決策です。 例:

/* use high programming standards!! */ 
var i = 0, //i is standing for int 
    oJson = {}, //o is standing for object 
    sKey; //s is standing for string 
while ((sKey = window.localStorage.key(i))) { 
    oJson[sKey] = window.localStorage.getItem(sKey); 
    i++; 
} 
console.log(oJson); 
関連する問題