ASP.net EventValidation和ViewState是否可以缓解暴力攻击?

时间:2015-03-27 18:29:19

标签: asp.net web-services security brute-force

我在新工作中的职责之一是网络安全,在我对旧网络服务器运行目录遍历工具后,我发现内容管理系统的管理员登录页面不受限制,可以通过互联网访问。 / p>

我把这个引起了我的老板的注意,他说,因为" EventValidation"和" ViewState"参数设置,它可以防止像Hydra或Medusa这样的强制应用程序。这并不适合我,因为网络表单上没有reCAPTCHA或帐户锁定政策。

我试图对这些参数以及它们如何影响蛮力攻击做一些研究,但我没有找到任何具体的东西,如果有人能指出我正确的方向或对这个问题有所了解我真的很感激!

1 个答案:

答案 0 :(得分:4)

ViewState不是针对暴力的安全措施。它只是一组编码的键/值对,用于模拟填充在隐藏输入中的页面加载(后置)之间的状态。 ViewState 有点不能真正帮助防范CSRF 如果使用user key和ViewState。用户密钥充当防伪令牌。

事件验证是一种安全措施,但它并不能缓解布鲁斯力量攻击。事件验证的目的是确保POST事件的触发器实际上是可能的。例如,如果ASP.NET页面确定回发的源是一个名为" Foo"的提交按钮,但是" Foo"按钮未呈现,然后抛出异常,因为它看起来单击了一个不可见的按钮。

这些都不会阻止对登录表单的布鲁斯力量攻击。实际上,如果您可以从浏览器中反复进行,那么攻击者所要做的就是自动化。

你可以做很多事情来限制布鲁斯力量攻击。

  • 速率限制尝试次数。许多系统会在N次连续登录失败后阻止登录尝试一段时间,例如" 5次尝试,然后你必须等待20分钟"。
  • 升级身份验证要求。 N次失败后,添加CAPTCHA。在另外N次失败之后,请求一些辅助信息,或者添加一个额外的因素。