首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在LocalStorage中存储信用卡/银行账户信息的风险是什么?

在LocalStorage中存储信用卡/银行账户信息的风险是什么?
EN

Stack Overflow用户
提问于 2018-04-25 16:42:45
回答 1查看 1K关注 0票数 4

我最近注意到,我使用的一个账单支付网站似乎在我的浏览器的LocalStorage中存储我的银行账户和信用卡号码。数据存储在JSON对象中,该对象被串成LocalStroage。数据没有特殊的编码、混淆或加密。

虽然这在一开始是非常令人讨厌的,而且看起来确实是一种不合标准的工程实践,但我很难思考如何对这个实现进行有意义的黑客攻击:

  • 由于该站点是HTTPS,中间人攻击不能注入恶意JavaScript来读取LocalStorage。
  • LocalStorage不在HTTP和HTTPS之间的相同域上共享,因此这将排除通过非SSL连接进行脚本注入的可能性。
  • 如果web应用程序未能对用户提交的内容进行清理,可能会注入恶意脚本从LocalStorage窃取数据,但也可以直接从JavaScript的内存中窃取这些数据。因此,使用LocalStorage的风险水平没有什么不同。
  • 恶意浏览器插件可能会从LocalStorage中读取数据,但这与恶意插件可能从网页上抓取数据或从JavaScript内存读取数据的风险并无差别。
  • 如果用户在公共计算机上登录这个网站,很有可能有人会从LocalStorage窃取他们的支付数据。但是,如果有人将他们的数据从屏幕上窃取,如果他们自己登录到应用程序中,那就不会有太大不同了。我假设LocalStorage在注销时就被清除了(这可能是一个过于慷慨的假设)。

这种做法还暴露了哪些其他安全漏洞?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-26 18:11:16

如果web应用程序未能对用户提交的内容进行清理,可能会注入恶意脚本从LocalStorage窃取数据,但也可以直接从JavaScript的内存中窃取这些数据。因此,使用LocalStorage的风险水平没有什么不同。

我不同意。如果必须将脚本注入到非常特定的网页中才能访问用户输入的敏感数据,或者可以在主机上的任何页面上插入JavaScript,只需访问LocalStorage并将数据发送到某个地方,则会产生很大的不同。在后一种情况下,用户在任何时候访问的一个页面就足以进行攻击。

此外,您还必须考虑到,web浏览器通常将LocalStorage存储在纯文本中。

在LocalStorage中存储敏感数据的唯一方法是让服务器使用只有服务器知道的特定于用户的密钥使用经过验证的密码对其进行加密。如果以后数据再次被使用,客户端可以将其发送到服务器,服务器可以对其进行解密和使用。当然,敏感的部分永远不应该被发送回客户端(例如,作为网页上预先填写的表单)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50027370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档