奇怪的 Web 服务器请求,看起来像截断和连接,可能与 IE 有关

奇怪的 Web 服务器请求,看起来像截断和连接,可能与 IE 有关

我们不断记录一些我们不知道原因的错误。用户代理字符串表明这几乎总是 Internet Explorer(如果不是总是的话)。(超过 90%,其余的要么有虚假的用户代理字符串,要么根本没有。)这似乎太高了,不可能仅仅是巧合。以下是一个例子:

2012-04-24 15:19:18,063 [ERROR] [SiteError] Message=Exception: Illegal characters in path.
Type = System.ArgumentException
Message = Illegal characters in path.
Data:
    Page URL = /combres.axication();'></span>        </div>                <form name=
    CallerIP = XXX
    Parameters = 
        CONTENT_LENGTH=0
        HTTPS=off
        LOCAL_ADDR=XXX
        PATH_INFO=/combres.axication();'></span>        </div>                <form name=
        PATH_TRANSLATED=C:\inetpub\site\combres.axication();'><\span>        <\div>                <form name=
        REMOTE_ADDR=XXX
        REMOTE_HOST=XXX
        REQUEST_METHOD=GET
        SCRIPT_NAME=/combres.axication();'></span>        </div>                <form name=
        SERVER_NAME=XXX
        SERVER_PORT=90
        SERVER_PORT_SECURE=0
        SERVER_SOFTWARE=Microsoft-IIS/7.5
        URL=/combres.axication();'></span>        </div>                <form name=
        HTTP_CACHE_CONTROL=max-age=259200
        HTTP_VIA=1.1 proxy1 (squid/3.0.STABLE19)
        HTTP_ACCEPT=*/*
        HTTP_ACCEPT_LANGUAGE=en-us
        HTTP_COOKIE=XXX
        HTTP_HOST=XXX
        HTTP_REFERER=http://www.site.com/
        HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
        HTTP_X_REAL_IP=XXX
        HTTP_X_FORWARDED_FOR=XXX
        HTTP_X_FORWARDED_PORT=80
        HTTP_X_FORWARDED_PROTO=http
Stack Trace:
   at System.IO.Path.CheckInvalidPathChars(String path)
   at System.IO.Path.GetExtension(String path)
   at WebApp.RequestRouterModule.context_BeginRequest(Object sender, EventArgs e) in e:\BuildAgent\work\862e5d1ddaa44908\WebApp\Modules\RequestRouterModule.cs:line 106
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

注意请求的 URL。我们使用 Combres,正常链接是 /combres.axd/。此请求表明页面在“/combres.ax”处被截断,然后与来自其他地方的标记连接在一起。此页面请求是一个典型示例,但并非唯一。

有人知道这里发生了什么事吗?

答案1

我在 IIS 日志文件中看到了其他类似的请求。我注意到大多数请求似乎与网站页面上的 javascript 代码有关。例如,就您而言,您网站上的某个页面很可能包含 javascript 代码combres.axication();。对于这些奇怪的请求,我唯一的解释是它们来自某种难以找到正确 URL 的损坏机器人。

相关内容