ASP.net EventValidation 和 ViewState 是不是可以缓解暴力攻击?
Posted
技术标签:
【中文标题】ASP.net EventValidation 和 ViewState 是不是可以缓解暴力攻击?【英文标题】:Does ASP.net EventValidation and ViewState mitigate brute force attacks?ASP.net EventValidation 和 ViewState 是否可以缓解暴力攻击? 【发布时间】:2015-06-01 04:44:42 【问题描述】:我在新工作中的职责之一是网络安全,在我对旧的 Web 服务器运行目录遍历工具后,我发现内容管理系统的管理员登录页面不受限制,可以通过互联网访问。
我提请我的老板注意这一点,他说由于设置了“EventValidation”和“ViewState”参数,因此可以防止像 Hydra 或 Medusa 这样的暴力破解应用程序。这并不适合我,因为网络表单上没有 reCAPTCHA 或帐户锁定政策。
我尝试对这些参数以及它们如何影响蛮力攻击进行一些研究,但我没有找到任何具体的东西,如果有人能指出我正确的方向或阐明这个问题,我真的会欣赏!
【问题讨论】:
【参考方案1】:ViewState 不是针对暴力破解的安全措施。它就是一组编码的键/值对,用于模拟填充在隐藏输入中的页面加载(回发)之间的状态。 ViewState kinda-can-not-really 有助于防止 CSRF 如果您使用带有 ViewState 的 user key。用户密钥充当防伪令牌。
事件验证是一种安全措施,但它不能缓解暴力攻击。事件验证的目的是确保 POST 事件的触发器实际上是可能的。例如,如果 ASP.NET 页面确定回发的来源是名为“Foo”的提交按钮,但“Foo”按钮未呈现,则引发异常,因为似乎单击了不可见按钮.
这些都不能防止对登录表单的布鲁斯强制攻击。事实上,如果您可以通过浏览器反复执行此操作,那么攻击者所要做的就是自动执行此操作。
你可以做很多事情来限制暴力攻击。
速率限制尝试。很多系统会在连续 N 次登录失败后,在一段时间内阻止登录尝试,例如“尝试 5 次,然后您必须等待 20 分钟”。 上报身份验证要求。 N 次失败后,添加验证码。在又 N 次失败后,询问一些辅助信息,或添加其他因素。【讨论】:
以上是关于ASP.net EventValidation 和 ViewState 是不是可以缓解暴力攻击?的主要内容,如果未能解决你的问题,请参考以下文章