【问题标题】:Mitigating botnet brute force attack with Javascript Detection?使用 Javascript 检测缓解僵尸网络暴力攻击?
【发布时间】:2013-07-05 22:17:50
【问题描述】:

嗨,这是我在这里的第一篇文章。我正在开发一个具有公共用户注册和登录功能的网站项目。现在,我正在构思整个项目的逻辑流程,目前停留在身份验证和安全部分。

我用谷歌搜索并找不到答案。我也搜索了sof,但努力也是徒劳的。 我想问的很具体。

从我在其他软文中读到的内容来看,似乎在 n 次尝试登录后减轻暴力攻击、ip 禁止或时间延迟是最好的解决方案之一。当然不要忘记白名单和黑名单以及验证码。当然我已经计划实现上述技术了。(可能不是验证码)

我的问题是,是否可以根据僵尸网络或“黑客”的假设检测启用或无法阻止非法登录尝试的 javascript > 使用启用 javascript 的浏览器来完成他们的“工作”?

例如,“如果禁用了js,则停止'渲染'登录 形式。 //检测到暴力破解尝试"

最后,这个假设是基于这样一个事实,即我的所有用户都将拥有一个支持 js 的浏览器才能使用我的网站。

此方法将与其他缓解方法同时运行。

请指教。 谢谢!

【问题讨论】:

    标签: security


    【解决方案1】:

    不可靠或不有效。你不能真正相信来自客户端的任何东西。

    您要求客户端在 javascript 中执行的任何操作以证明 javascript 存在都可以被模拟。强迫他们模仿会迫使他们变​​得更聪明并消耗更多资源,这对你来说可能是一个胜利。

    【讨论】:

      【解决方案2】:

      虽然 u2702 提出了一个很好的观点,但我认为最好记住一个解决方案并不能阻止所有攻击者并不意味着应该放弃它。事实上,我认为这是阻止绝大多数机器人的一个很好的方法。

      要回答手头的问题,您可以让所有潜在用户计算您使用加密安全随机函数生成的值的 MD5。在没有 javascript 的情况下伪造这个或多或少是不可能的(据我所知)。

      免责声明:实施此方法将禁止 Richard Stallman 和使用 NoScript 的人访问您的网站。

      【讨论】:

      • MD5 检查弊大于利。如果您要求客户端计算 MD5,您必须检查服务器端的 MD5(占用资源)并跟踪您要求他们计算的 MD5(占用资源)。如果您保留客户端和 MD5 挑战的服务器端数据库,DDOS 攻击可能会压倒您的数据库。如果你不跟踪,你很容易受到重放攻击,他们计算一次 MD5 并一遍又一遍地发送(当然,在服务器端你必须每次都计算 MD5)。
      猜你喜欢
      • 2015-02-18
      • 1970-01-01
      • 2015-06-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2013-04-08
      • 1970-01-01
      相关资源
      最近更新 更多