代码之家  ›  专栏  ›  技术社区  ›  Sidharth Panwar

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

  •  1
  • Sidharth Panwar  · 技术社区  · 14 年前

    问题:

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

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

    1. 有些会话正在访问我的登录页,但只是很小的一次。峰值点击率/分钟(包括javascripts、图片等,而不仅仅是页面点击率)在某些会话中高达2k,但该会话的总点击率可能为4-5K,这意味着某些东西导致了峰值,但随后活动恢复正常。从这些会话中,一些用户也成功登录,但他们没有做任何异常,其中一些是受信任的用户。我不怀疑他们做了什么奇怪的事。 我有预感,这可能是由浏览器或应用程序中的错误引起的。
    2. 有些会话会在登录页面上花费大量时间——大约2.5k次/分钟——但所有这些都是GET请求,这很奇怪。这可能是一次拒绝服务的尝试。一些会话的总点击率已达到20k,但也有其他会话的峰值已达到.5K,但平均活动/分钟可能低至20个请求。其中大部分来自 火狐3.6.x . 我目前正在检查FF中是否有任何已知的问题可以解释这一点,因为在这种情况下,我们的应用程序甚至没有做任何事情。

    技术细节:

    • 应用程序开发于 ASP.NET 2.0版
    • 部署于 IIS 7
    • 导致问题的浏览器: 火狐3.6.x (发送大量 得到 ), IE 7/8版 ( 岗位 请求 不同页面)

    我就这个问题作了一个简单的介绍。如果你需要更多的信息来进一步挖掘,请告诉我。

    更新:
    当我说一个会话每分钟20个请求是正常的时,我指的是所有请求,包括相关的javascripts/images。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Andrew Barber Eric Lafortune    14 年前

    你用“Security”标记了这个,所以我不确定你是否真的在应用程序中寻找可能导致这个的错误,但是无论如何。。。

    这些速率绝对不是“自然的”——没有一个正常的物理用户会以每分钟20次的速度重新加载一个页面,更不用说你显示的其他时间了。

    我先看看请求的有效负载 深入 确保没有恶意。您有很多日志条目,这些条目似乎值得深入研究,以查看您是否遇到字典类型的攻击,或者甚至可能遇到其他攻击,例如探测XSS或SQL注入漏洞。你的许多“冲动”似乎暗示了一些简单的漏洞探测,也许与字典攻击相反。

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


    为此,我将交叉引用频繁加载的url和 referer 这些请求的日志中的信息,并验证referer是否能够生成这样的url;可能是通过Ajax动态地,甚至是客户端的。实际上,错误使用Ajax更新可能是原因。但是如果所有的 参照者 这些命中的值是“不正确”或无效的,这可能是某种攻击或探测, 也许 而不是应用程序错误。

    但是如果referer信息确实导致了一个有效的页面,那么你至少有地方可以查看。

    推荐文章