允许无限大小的 cookie 有什么安全隐患?

信息安全 防火墙 饼干
2021-09-11 16:30:27

如果我们的应用程序防火墙检测到存在大小超过 1024 个字符的 cookie,则它会阻止请求。

是否有任何涉及大型 cookie 的漏洞利用?

即,将 cookie 大小限制为 1024 而不是说 2048 个字符更安全。

允许无限(浏览器最大)大小的 cookie 有哪些安全隐患?

3个回答

似乎该限制更多是关于禁止似乎可能是恶意的东西而不是特定威胁,但是我可以想到大型 cookie 存在一些潜在风险。

  • 拒绝服务。假设应用程序处理 cookie,那么一个非常大的 cookie 值可能会导致应用程序进行过多的处理,从而导致应用程序。拒绝服务
  • 尝试利用溢出条件。如果应用程序在 cookie 处理代码中有某种缓冲区溢出条件,那么一个大的 cookie 可能会触发它。

所有这一切都说简短的答案是它取决于 WAF 背后的应用程序,并且假设它在 cookie 处理代码中没有缺陷,我看不出有任何特殊理由为 cookie 值设置 1024 个字符的硬限制。

大型 cookie 的一个风险是它们可用于挂载 cookie jar 溢出攻击。一些浏览器对它们将存储在 cookie jar 中的数据量有固定的限制。因此,如果攻击者告诉您的浏览器记住一个大 cookie,这可能会导致一些其他 cookie 被遗忘/从 cookie jar 中删除。这反过来又会允许一些攻击。

更多详情:

  • 浏览器安全手册摘录

    “cookie jar 大小的问题:标准对指定 cookie 计数限制或修剪策略的作用相对较小。各种浏览器可能会实施各种总和每个域的上限,并且该行为可能会导致恶意内容故意破坏会话管理或合法内容这样做意外地。”

  • 竞相将用户降级为无 cookie 身份验证- 描述恶意站点如何将足够的 cookie 写入浏览器 cookie jar 以达到限制,然后导致其他站点采用无 cookie 操作模式(可能不太安全)。

  • HTTP cookie 或如何不设计协议- 描述了由于浏览器在获得过多 cookie 数据时如何修剪 cookie jar 而产生的攻击和弱点。尤其是标题为“8K 应该对任何人都足够”和“哦,拜托。实际上没有人会依赖它们”的部分。

这可能是为了防止影响 ApacheHTTPOnly cookie 泄露利用