首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC 5-减少漏洞

MVC 5-减少漏洞
EN

Stack Overflow用户
提问于 2015-05-19 16:23:56
回答 2查看 1.9K关注 0票数 15

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

阅读这个特定漏洞后,它似乎会影响符合以下标准的服务器:

  • 从使用HTTP级别压缩的服务器提供服务。
  • 在HTTP响应体中反映用户输入
  • 在HTTP响应体中反映秘密(例如CSRF令牌)

按成效排列的缓减措施似乎还包括:

  • 禁用HTTP压缩
  • 从用户输入中分离秘密
  • 每个请求的随机秘密
  • 掩蔽秘密(通过XORing对每个请求的随机秘密进行有效的随机化)
  • 用CSRF保护易受攻击的页面
  • 长度隐藏(通过向响应中添加随机字节数)
  • 速率-限制请求

在我的页面视图中,我调用helper方法@Html.AntiForgeryToken,它在访问表单时创建相应的输入和cookie。从查看此助手方法所做的工作来看,它似乎在每次加载页面时创建一个新的、唯一的令牌,这似乎满足缓解步骤中的第3点,而使用CSRF令牌的行为首先遇到了第5点。

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

所以,在这之后,我现在唯一真正能看到的就是把秘密和用户输入分开。我曾想过,也许尝试将CSRF令牌值放入session.....or中,但我完全考虑过了吗?现在的@Html.AntiForgeryToken`实现是否足以保护我们?

EN

回答 2

Stack Overflow用户

发布于 2018-06-07 10:10:17

反伪造/CSRF令牌还不够吗?在MVC中,可以使用Html.AntiForgeryToken()。我以前在MVC应用程序中使用过它,它确实减少了漏洞。

票数 1
EN

Stack Overflow用户

发布于 2018-03-23 21:45:48

是的,如果CSRF令牌是随机的,那么它可以减轻攻击。只要您没有用用户输入表单发送任何其他秘密,您就应该没事。

或者,

对有用户输入的页面禁用压缩也是可能的。看看这个答案Can gzip compression be selectively disabled in ASP.NET/IIS 7?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30331105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档