ASP.net EventValidation 和 ViewState 是否可以减轻暴力破解攻击?
Does ASP.net EventValidation and ViewState mitigate brute force attacks?
我在新工作中的职责之一是网络安全,在我 运行 一个针对我们旧 Web 服务器的目录遍历工具之后,我发现内容管理系统的管理员登录页面不受限制并且是可通过互联网访问。
我提请我的老板注意这件事,他说由于设置了 "EventValidation" 和 "ViewState" 参数,它可以防止像 Hydra 或 Medusa 这样的暴力破解应用程序。这不太适合我,因为网络表单上没有 reCAPTCHA 或帐户锁定政策。
我已经尝试对这些参数以及它们如何影响暴力攻击进行一些研究,但我没有找到任何具体的东西,如果有人可以指出我正确的方向或阐明这个问题,我'非常感谢!
ViewState 不是针对暴力破解的安全措施。它只是一组编码的键/值对,用于模拟页面加载(post 返回)之间的状态,这些状态被填充到隐藏的输入中。 ViewState kinda-can-not-really 有助于防止 CSRF 如果 您将 user key 与 ViewState 一起使用。用户密钥充当防伪令牌。
事件验证是一种安全措施,但它不能减轻暴力攻击。事件验证的目的是确保 POST 事件的触发实际上是可能的。例如,如果 ASP.NET 页面确定 post 返回的来源是名为 "Foo" 的提交按钮,但未呈现 "Foo" 按钮,则异常是抛出,因为似乎点击了一个不可见的按钮。
这些都不能防止对登录表单的暴力攻击。事实上,如果您可以从浏览器中一遍又一遍地执行此操作,那么攻击者所要做的就是自动执行此操作。
您可以采取很多措施来限制暴力攻击。
- 速率限制尝试。很多系统会在连续N次登录失败后,在一段时间内阻止登录尝试,比如“5次尝试,那么你要等20分钟”。
- 升级身份验证要求。 N次失败后,添加验证码。再失败N次后,求一些次要的信息,或者再加一个因素。
我在新工作中的职责之一是网络安全,在我 运行 一个针对我们旧 Web 服务器的目录遍历工具之后,我发现内容管理系统的管理员登录页面不受限制并且是可通过互联网访问。
我提请我的老板注意这件事,他说由于设置了 "EventValidation" 和 "ViewState" 参数,它可以防止像 Hydra 或 Medusa 这样的暴力破解应用程序。这不太适合我,因为网络表单上没有 reCAPTCHA 或帐户锁定政策。
我已经尝试对这些参数以及它们如何影响暴力攻击进行一些研究,但我没有找到任何具体的东西,如果有人可以指出我正确的方向或阐明这个问题,我'非常感谢!
ViewState 不是针对暴力破解的安全措施。它只是一组编码的键/值对,用于模拟页面加载(post 返回)之间的状态,这些状态被填充到隐藏的输入中。 ViewState kinda-can-not-really 有助于防止 CSRF 如果 您将 user key 与 ViewState 一起使用。用户密钥充当防伪令牌。
事件验证是一种安全措施,但它不能减轻暴力攻击。事件验证的目的是确保 POST 事件的触发实际上是可能的。例如,如果 ASP.NET 页面确定 post 返回的来源是名为 "Foo" 的提交按钮,但未呈现 "Foo" 按钮,则异常是抛出,因为似乎点击了一个不可见的按钮。
这些都不能防止对登录表单的暴力攻击。事实上,如果您可以从浏览器中一遍又一遍地执行此操作,那么攻击者所要做的就是自动执行此操作。
您可以采取很多措施来限制暴力攻击。
- 速率限制尝试。很多系统会在连续N次登录失败后,在一段时间内阻止登录尝试,比如“5次尝试,那么你要等20分钟”。
- 升级身份验证要求。 N次失败后,添加验证码。再失败N次后,求一些次要的信息,或者再加一个因素。