编辑:
自从发布此消息以来已经有一段时间了,但我在这里报告这似乎并不是某种攻击。
相反,这个特定的 URL 字符串表示无cookie 会话。
似乎这只不过是我们的一个(或多个)用户在禁用 cookie 的情况下访问我们的网站,并且我们的应用程序没有设置为正确处理插入到 URL 字符串中的问题。
我想仍然有可能有人试图操纵这种效果(时间戳和频率很有趣),但我相信这更有可能是我们跳上“我们被攻击了!”的情况。训练有点太早了。很难找到这方面的信息!
最终,当我在我们的(隔离的)测试环境中遇到这个确切的 URL 模式并决定对这个问题做一些额外的研究时,我们发现了这一点。
感谢大家对此的帮助,如有任何混淆,我们深表歉意!我将保留最初的问题,以避免使已经存在的答案无效。
原文:
我在一家为客户提供面向公众的网站的公司工作。在过去的几周里,我们看到了一系列如下所示的日志条目:
The controller for path '/(x(1)s(mpwcjessdyhikng0a1kyud1z))/' was not found or does not implement IController.
这些条目通常相隔约 1 秒,并且总是x(1)s以随机字符串开头,然后是不同页面的各种路径,尤其是/account or /account/recoverpasswordrequest/. 这往往会持续 10 到 30 分钟,然后我们通常要到第二天才能再次看到它,尽管它几乎每天都会发生。
我们已将发生这种情况的几个 IP 列入黑名单,但此人显然使用许多不同的 IP 来运行执行此操作的任何脚本。
任何人都可以帮助我了解这里发生了什么,尤其x(1)s是这个人可能试图获得的信息或什么样的信息?攻击碰巧失败了,因为我们没有一个随机命名的控制器来接受这些信息,但是能够制止这种情况或者至少对正在发生的事情有更好的了解会很棒。
编辑:这个“请求”总是遵循相同的(x(1)s(random))模式。有 3 个 URL 主要被点击:
The controller for path '/(x(1)s(31k5il1as0vxxnbfnnsrzm3b))/' was not found or does not implement IController.
The controller for path '/(x(1)s(31k5il1as0vxxnbfnnsrzm3b))/account/register' was not found or does not implement IController.
The controller for path '/(x(1)s(31k5il1as0vxxnbfnnsrzm3b))/account/recoverpasswordrequest' was not found or does not implement IController.
完整的 URL 将是: https://example.com/(these requests)
该站点使用 MVC,因此这些特定的错误消息是由于我们没有一个名为(x(1)s(blah))该 URL 可以解析的控制器。日志条目显示所有 3 个 URL 都使用相同的随机字符串,然后生成一个新的随机字符串并再次尝试相同的模式。
这些日志条目来自此请求失败并导致我们的应用程序逻辑异常。因此,他们绕过了防火墙,实际上在我们的代码中失败了。