0

我如何告诉 ASP.Net 压缩响应,但不压缩响应中的 Cookie?所以所有的 HTML 输出,但不是 cookie。

背景:违反

BREACH攻击仍未解决。它适用于包含机密的 TLS 安全、gzip 压缩响应。

您登录的任何站点都应该启用 HTTPS,并且将继续在其响应中发回一个 cookie,该 cookie 具有攻击者可以攻击的完美秘密,因为如果他们能得到它,他们就会得到你的令牌,可以伪装成你。

对此没有令人满意的解决方案,但一种强有力的缓解措施是将秘密与响应的其余部分分开或根本不压缩。另一个是包含一个 CSRF 令牌。对于显示提交表单数据结果的页面,CSRF 令牌很好,因为无论如何我们都需要这样做,而且缓存在性能方面并不那么重要。但是对于静态页面,我们需要能够缓存,这使得 CSRF 令牌的权重太大。

如果我们可以告诉 ASP.Net 不要压缩 cookie,这是这些响应中唯一的秘密,我们会很高兴:

  • 缓存适用于需要它的静态页面
  • HTTPS 和 gzip 可以同时发挥作用,gzip 仅针对那一点点响应关闭
  • BREACH 已死

那么,这可能吗?如果可以,怎么办?即使使用像 HttpModule 这样执行 gzip 步骤的东西我也很好,只要它不会给您带来损坏的响应。

某种仅分离 gzip 压缩上下文的补丁或模块(BREACH 的主要建议解决方案)会更好,但这似乎要求太多。

请注意,对于 BREACH 是否可用于获取 cookie/会话令牌,安全社区似乎存在冲突:

它可以。 它不能。

4

0 回答 0