我希望有人能够帮助我理解这个问题,以及我是否需要采取任何额外措施来保护我的申请。
阅读此特定漏洞,似乎会影响符合以下条件的服务器:
似乎缓解措施的顺序是:
在我的页面视图中,我正在调用辅助方法@Html.AntiForgeryToken
,当我访问表单时,它会创建相应的输入和cookie。通过查看此帮助程序方法的作用,每次加载页面时似乎都会创建一个新的唯一标记,这似乎在缓解步骤中遇到第3点,并且首先使用CSRF令牌的行为符合第5点
禁用HTTP压缩似乎被广泛认为“对性能不利”,而且从我一直在阅读的其他资源中看,长度隐藏可能会导致文件上传等功能出现问题(本页使用)
所以,在所有这些之后,我现在唯一可以看到的就是将秘密与用户输入分开。我想过可能会尝试将CSRF令牌值放入会话中.....或者我是否完全过度思考这个问题并且'@ Html.AntiForgeryToken`的当前实现是否足以保护我们?
答案 0 :(得分:1)
防伪/ CSRF令牌不够用吗?在MVC中,您可以使用Html.AntiForgeryToken()。我以前在我的MVC应用程序中使用它,它确实减轻了漏洞。
答案 1 :(得分:0)
是的,如果CSRF令牌是随机的,那么它可以缓解攻击。只要您没有发送任何其他用户输入表格的秘密,您应该没事。
<强>可替换地,强>
对具有用户输入的页面禁用压缩也是可能的。查看此答案Can gzip compression be selectively disabled in ASP.NET/IIS 7?