什么可能导致ASP.NET应用程序中的特定会话突然发出请求?

时间:2010-11-19 11:30:37

标签: asp.net security iis

问题:

我发现某些会话正在向我的某些.aspx页面发送大量请求。其中一些人也在向我的登录页面发送请求。我试图找出这是否是字典攻击但是在检查IIS日志时发现csBytes对于大量请求没有变化。因此,字典攻击的可能性较小。然后,我检查是否有人正在尝试拒绝服务,但这似乎也不太可能,因为爆发在短时间内(通常在一分钟左右后)消退。

我在进行调查时出现的一些模式是:

  1. 某些会话正在点击我的登录页面,但是会以非常小的突发事件发生。峰值命中/分钟。 (包括javascripts,图像等,而不仅仅是页面点击)在某些会话中高达2k,但该会话的总点击量可能是4-5K,这意味着某些事情导致了峰值,但随后活动恢复正常。从这些会话中,一些用户也成功登录,但他们没有做任何异常,其中一些是可信用户。我不怀疑他们做任何奇怪的事情。 我预感到这可能是由浏览器或我们的应用程序中的错误引起的。
  2. 有些会话正在大量登录页面 - 大约2.5k点击/分钟 - 但所有这些都是GET请求,这很奇怪。这可能是DoS尝试。某些会话的总点击率达到了20k,但还有其他会话达到峰值.5K但平均活动/分钟可能低至20个请求。其中大部分来自 Firefox 3.6.x 。我目前正在检查FF中是否有任何已知问题可以解释这一点,因为在这种情况下我们的应用程序甚至没有做任何事情。
  3. 技术细节:

    • 应用程序是在 ASP.NET 2.0
    • 中开发的
    • 部署 IIS 7
    • 导致问题的浏览器: Firefox 3.6.x (发送大量的 获取), IE 7/8 POST )请求 不同页面)

    我在这个问题上给出了一个简单的介绍。如果您需要更多信息需要进一步挖掘,请告诉我。

    更新
    当我说来自会话的20个请求/分钟是正常的时,我的意思是所有请求,包括相关的javascripts / images。

1 个答案:

答案 0 :(得分:1)

你用'安全'标记了这一点,所以我不是百分百确定你是否真的在应用程序本身寻找可能导致这种情况的错误,但无论如何...

这些费率肯定不是“自然的” - 没有正常的,物理用户甚至(重新)每分钟加载一次“仅仅”20次,更不用说你展示的其他时间了。

我首先会深入查看请求的有效负载,并确保没有任何恶意内容。您有很多日志条目似乎需要查看更多内容,以查看您是否遇到字典类型的攻击,或者甚至是其他问题,例如探测XSS或SQL注入漏洞。你的许多“喷射”似乎暗示了一些简单的漏洞探测,可能与字典攻击相反。

但是,用于缓解攻击的方法(实际上,您将使用的任何工具/流程)与针对可能导致意外请求的潜在应用程序错误所做的非常不同。


为此,我会将频繁加载的URL与这些请求的日志中的referer信息进行交叉引用,并验证引用者是否能够生成此类URL;也许是通过Ajax动态地,甚至是客户端。事实上,错误使用的Ajax更新实际上可能是原因。但是,如果这些匹配中的所有referer值都“不正确”或无效,则可能是某种攻击或探测,可能而不是app bug。

但如果引用信息确实导致了有效页面,那么至少你可以在某个地方看一下。