beplay体育能用吗网络存储:会话令牌的较小邪恶

最近有人询问我是否可以安全地存储会话令牌beplay体育能用吗网络存储(sessionstorage/localstorage)而不是cookie。在谷歌搜索时,我发现最高结果几乎所有内容都断言,网络存储相对于cookie是高度不安全的,因此不适合会话令牌。beplay体育能用吗为了透明,我决定公开记录导致我得出相反结论的理由。

针对Web存储的核心参数说,因为Web存储不支持特定于Cookbeplay体育能用吗ie的功能,例如安全标志和HTTPonly标志,因此攻击者更容易窃取它。还引用了路径属性。我将查看每个功能中的每个功能,并尝试研究它们为何实施的历史,它们所服务的目的以及它们是否真正使Cookie成为会话代币的最佳选择。

安全标志

安全标志对于cookie非常重要,与网络存储无关。beplay体育能用吗beplay体育能用吗网络存储遵循相同的原点政策,它基于由协议和域名组成的来源隔离数据。cookie需要安全标志,因为它们不能正确遵守相同的起源政策 - cookie设置https://example.com将通过http://example.com默认情况下。相反,一个存储在localstorage上的值https://example.com将完全无法访问http://example.com,因为协议是不同的。

换句话说,cookie默认情况下是不安全的,而安全的标志只是使它们像Web存储一样具有弹性的弹性。beplay体育能用吗beplay体育能用吗默认情况下,在HTTPS上使用的Web存储有效地具有安全标志。有关相同来源政策中相关细微差别的更多信息可以在纠结的网络beplay体育能用吗作者:Michal Zalewski。

路径属性

路径属性是众所周知几乎对安全毫无用处。这是Cookie与相同原点策略不同步的另一个示例 - 路径不被视为原点的一部分,因此它们之间没有安全边界。在应用程序层上彼此隔离两个应用程序的唯一方法是将它们放置在单独的起源上。

httponly标志

httponly标志几乎是无用的XSS减轻。它是2002年发明为了防止XSS用于窃取会话令牌。当时,偷饼干可能是最受欢迎的攻击矢量 - 四年后CSRF被描述为沉睡的巨人

今天,我认为任何有能力的攻击者都会使用一个自定义CSRF有效载荷或者掉牛钩。会议令牌窃取攻击引入了时间延迟和环境变化,使其与比较的不切实际和错误 - 相比之下 - 请参阅为什么httponly不会保护你有关原因的更多背景。这意味着,如果攻击者精通,HTTPonly甚至不会减慢他们的速度。就像一个WAF如此无效的攻击者甚至没有注意到它存在。

我唯一看到的实例是httponly在bugzilla.mozilla.org上是一个重要的安全边界。不受信任的HTML附件是从子域提供的,该子域能够访问父域的cookie,这要归功于Cookie的cookie不合时宜。最终,与安全标志一样,仅需将httponly标志才能使cookie与网络存储一样安全。beplay体育能用吗

重要的差异

这两个选项之间的一个主要区别是,与Cookie不同,Web浏览器不会自动将Web Storage的内容附加到HTTP请求 - 您需要编写Jbeplay体育能用吗avaScript以将会话令牌附加到HTTP标头。这实际上传达了巨大的安全利益,因为这意味着会话令牌不充当环境权威。这使整个类别的利用无关紧要。浏览器自动将cookie附加到跨域请求的行为是启用诸如CSRF和的攻击交叉原始正时攻击。有一个规格另一个cookie属性目前,要解决此过程中的这个问题,但是就目前而言,您最好的选择是Web存储。beplay体育能用吗

同时,曲奇协议的不健康状态导致了疯狂的情况,cookie标头可以包含可信赖和不信任数据的混合物。这是犯罪不善的双重csrf防御犯规。解决方案是另一个cookie属性:起源

与Cookie不同,Web存储不beplay体育能用吗支持自动到期。由于应该完成服务器端的到期,但要注意的是,这是最小的,但要注意。另一个区别是,当您关闭选项卡而不是关闭浏览器时,SessionStorage将过期,这可能会很棒或不便,具体取决于您的用例。另外,Safari以私有浏览模式禁用Web存beplay体育能用吗储,这不是很有帮助。

这篇文章旨在争辩说Web存储通常是Cookie的可行且安全的替代方案。beplay体育能用吗beplay体育能用吗Web存储在每种情况下都不是会话令牌存储的理想选择 - 将其翻新到非单页应用程序可能会添加重要的请求开销,Safari以私有浏览模式禁用Web存储,并且是Internet Explorer中的不安全8。同样,如果您确实使用cookie,请同时使用安全和httponly。

结论

乍一看,Cookie看起来具有更多的安全功能,但最终是核心设计差的补丁。有关饼干的深入评估,请查看http cookie或如何不设计协议。beplay体育能用吗Web Storage提供了一种替代方案,默认情况下,如果默认情况下,默认情况下的不安全较小。

回到所有文章

相关的研究

每日Swig的推荐故事beplay2018官网