gpt4 book ai didi

javascript - 在 LocalStorage 中存储信用卡/银行账户信息有哪些风险?

转载 作者:行者123 更新时间:2023-11-29 10:59:31 24 4
gpt4 key购买 nike

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

虽然这最初非常令人反感,而且看起来绝对像是一种不合标准的工程实践,但我很难想出可以对这种实现进行有意义的黑客攻击的方式:

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

这种做法会带来哪些其他安全漏洞?

最佳答案

If the web app failed to sanitize user-submitted content, perhaps a malicious script could be injected to steal data from LocalStorage, but it could also steal this data from JavaScript's memory directly. Thus, the risk level is no different using LocalStorage.

我不同意。如果必须将脚本注入(inject)到非常特定的网页才能访问用户输入的敏感数据,或者如果 JavaScript 可以注入(inject)该主机上的任何页面并简单地访问 LocalStorage 并发送某处的数据。在后一种情况下,用户在任何时候访问的一个页面都足以进行攻击。

此外,您必须考虑到 LocalStorage 通常由 Web 浏览器以纯文本形式存储。

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

关于javascript - 在 LocalStorage 中存储信用卡/银行账户信息有哪些风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com