我最近注意到,我使用的一个账单支付网站似乎在我的浏览器的LocalStorage中存储我的银行账户和信用卡号码。数据存储在JSON对象中,该对象被串成LocalStroage。数据没有特殊的编码、混淆或加密。
虽然这在一开始是非常令人讨厌的,而且看起来确实是一种不合标准的工程实践,但我很难思考如何对这个实现进行有意义的黑客攻击:
这种做法还暴露了哪些其他安全漏洞?
发布于 2018-04-26 18:11:16
如果web应用程序未能对用户提交的内容进行清理,可能会注入恶意脚本从LocalStorage窃取数据,但也可以直接从JavaScript的内存中窃取这些数据。因此,使用LocalStorage的风险水平没有什么不同。
我不同意。如果必须将脚本注入到非常特定的网页中才能访问用户输入的敏感数据,或者可以在主机上的任何页面上插入JavaScript,只需访问LocalStorage并将数据发送到某个地方,则会产生很大的不同。在后一种情况下,用户在任何时候访问的一个页面就足以进行攻击。
此外,您还必须考虑到,web浏览器通常将LocalStorage存储在纯文本中。
在LocalStorage中存储敏感数据的唯一方法是让服务器使用只有服务器知道的特定于用户的密钥使用经过验证的密码对其进行加密。如果以后数据再次被使用,客户端可以将其发送到服务器,服务器可以对其进行解密和使用。当然,敏感的部分永远不应该被发送回客户端(例如,作为网页上预先填写的表单)。
https://stackoverflow.com/questions/50027370
复制相似问题