簡體   English   中英

在LocalStorage中存儲信用卡/銀行賬戶信息有哪些風險?

[英]What are the risks of Storing Credit Card / Bank Account Information in LocalStorage?

我最近注意到我使用的賬單支付網站似乎是在我的瀏覽器的LocalStorage中存儲我的銀行賬戶和信用卡號碼。 數據存儲在JSON對象中,該對象被字符串化為LocalStroage。 沒有特殊的編碼,模糊處理或數據加密。

雖然這最初非常令人反感,而且肯定看起來像是一個不合標准的工程實踐,但我很難想到這個實現可能會被嚴重破解的方式:

  • 由於該站點是HTTPS,因此中間人攻擊無法注入惡意JavaScript以讀取LocalStorage。
  • LocalStorage不在HTTP和HTTPS之間的同一域上共享,因此將排除非SSL連接上的腳本注入。
  • 如果Web應用程序無法清理用戶提交的內容,可能會注入惡意腳本以從LocalStorage竊取數據,但它也可能直接從JavaScript內存中竊取此數據。 因此,使用LocalStorage風險級別也不例外。
  • 惡意瀏覽器插件可能會從LocalStorage中讀取數據,但這與惡意插件可以從網頁上抓取數據或從JavaScript內存中讀取數據的風險沒有什么不同。
  • 如果用戶在公共計算機上登錄此站點,則有人可能會從LocalStorage中竊取他們的付款數據。 但是,如果他們將自己的數據留在了應用程序中,那么與屏幕上的數據有關的人就不會有太大的不同了。 我假設LocalStorage在注銷時被清除(這可能是一個過於慷慨的假設)。

這種做法還會帶來哪些其他安全漏洞?

如果Web應用程序無法清理用戶提交的內容,可能會注入惡意腳本以從LocalStorage竊取數據,但它也可能直接從JavaScript內存中竊取此數據。 因此,使用LocalStorage風險級別也不例外。

我不同意。 如果必須將腳本注入非常特定的網頁以便能夠訪問用戶輸入的敏感數據,或者如果可以在該主機上的任何頁面上注入JavaScript並只是訪問LocalStorage並發送,則會產生很大的不同。數據在某處。 在后一種情況下,用戶在任何時候訪問的一個頁面足以進行攻擊。

此外,您必須考慮到LocalStorage通常由Web瀏覽器以純文本格式存儲。

恕我直言,在LocalStorage中存儲敏感數據的唯一方法是讓服務器使用經過身份驗證的密碼使用僅由服務器知道的用戶特定密鑰對其進行加密。 如果之后數據應該再次使用,客戶端可以將其發送到服務器,服務器可以解密並使用它。 當然,敏感部分永遠不應該被發送回客戶端(例如,作為網頁上的預填表格)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM