gpt4 book ai didi

c# - MVC 5 - 缓解 BREACH 漏洞

转载 作者:可可西里 更新时间:2023-11-01 07:48:24 25 4
gpt4 key购买 nike

我希望有人能够帮助我理解这个问题,以及我是否需要采取任何额外步骤来保护我的应用程序。

阅读此特定漏洞,它似乎会影响符合以下条件的服务器:

  • 从使用 HTTP 级压缩的服务器提供服务
  • 在 HTTP 响应主体中反射(reflect)用户输入
  • 在 HTTP 响应主体中反射(reflect)一个 secret (例如 CSRF token )

似乎缓解措施的有效性顺序是:

  • 禁用 HTTP 压缩
  • 将 secret 与用户输入分开
  • 根据请求随机分配 secret
  • 隐藏 secret (通过 XORing 与每个请求的随机 secret 有效地随机化)
  • 使用 CSRF 保护易受攻击的页面
  • 长度隐藏(通过向响应添加随机字节数)
  • 限制请求的速率

在我的页面 View 中,我正在调用辅助方法 @Html.AntiForgeryToken,它会在我访问表单时创建相应的输入和 cookie。通过查看此辅助方法的作用,它似乎在每次加载页面时都创建了一个新的唯一 token ,这似乎符合缓解步骤中的第 3 点,并且首先使用 CSRF token 的行为符合第 5 点.

禁用 HTTP 压缩似乎被广泛认为“不利于性能”,从我阅读的其他一些资源来看,长度隐藏可能会导致文件上传(此页面使用)等功能出现问题


所以,毕竟,我现在唯一真正能看的就是将 secret 与用户输入分开。我考虑过可能会尝试将 CSRF token 值放入 session 中......或者我是否完全过度思考了这一点,并且“@Html.AntiForgeryToken”的当前实现是否足以保护我们?

最佳答案

Anti-Forgery/CSRF Token 还不够吗?在 MVC 中,您可以使用 Html.AntiForgeryToken()。我之前在我的 MVC 应用程序中使用过它,它确实减轻了违规行为。

关于c# - MVC 5 - 缓解 BREACH 漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331105/

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