6

我在 URL 中收到了一些带有代码片段(CSS、HTML 和 JavaScript)的 404。

尽我所能告诉用户在他们的会话期间通过该网站进展顺利 - 它是一个电子商务网站,受影响的用户正在将东西放入他们的购物篮并检查 OK 等。

在某些页面上,我看到与看似成功的页面显示相邻的 404 错误。每次显示该页面时(在该会话中),我都会收到相同的 404 错误。

记录的 404 错误示例:

404;http://www.example.com/rrepeat: repeat-y;

有问题的页面上有一个匹配的实例(除了第一个“r”):

<td style="background-image: url(/i/lb_ccccccbrd.gif); background-repeat: repeat-y;">

我检查了包含的 CSS 文件,没有一个匹配(如果他们这样做,我会在包含 CSS 文件的所有页面上得到 404)

我的想法是,它可能是 IE8 的插件,当用户查看它以缓存某些内容时,它正在爬取页面 - 或者可能用于更恶意的目的。页面的用户代理和 404(在该会话中)是相同的 [不知道插件是否会与浏览器本身显示不同?]

其他示例:

/r/table&gt;&lt;/form&gt;&lt;/td&gt;&lt;td width= 
/r width=

/r alt= 

/rurn pair[1]; --&gt;</SPAN> --&gt;</SPAN>--&gt;</SPAN>function Set_Cookie( name, value, expires, path, domain, secure ) <SPAN style="color:red;font-weight:bold;background-color:yellow;">&lt;!--/ set time, it's in millisecondsvar today = new Date();today.setTime( today.getTime() );/*if the expires variable is set, make the correct expires time, the current script below will set it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24if ( expires )<SPAN style="color:red;font-weight:bold;background-color:yellow;">&lt;!--expires = expires * 1000 * 60 * 60 * 24;--&gt;</SPAN>*/expires = (3650) * 1000 * 60 * 60 * 24;var expires_date = new Date( today.getTime() + (expires) );document.cookie = name +

所有似乎都以不属于代码的“r”开头,然后是直接来自页面代码的片段。

该页面通过了 w3c.org HTML 验证(所以我不认为它是一个未经授权的引用,除非我有一些愚蠢的 javascript 破坏了 HTML !!)

用户代理始终为 MSIE 8.0 或 MSIE 7.0 和 Trident/4.0。(我假设带有 Trident 的 MSIE 7.0 是兼容模式下的 IE8)

我每天只看到几个这样的实例(少于 10 个会话),而我每天使用用户代理(包括 IE8 和 Trident)获得数百个会话。

谢谢。

4

3 回答 3

1

在我看来,您正在处理格式错误的蜘​​蛛或未遂的XSS攻击。

如果它发生在小范围内,最好的做法是确保您已锁定您的应用程序/站点,以便此类攻击不会成功。

密切关注您的日志。如果这样的事情频繁出现和/或改变了它的攻击媒介,你最好知道这些努力的方向并做出相应的反应。

最后,“IE8/Trident”客户端标识符没有什么特别之处。它只是说明客户端他们正在使用 Trident 布局引擎(类似于 Safari/WebKit 或 Mozilla/Gecko)运行 Internet Explorer 8。

于 2009-10-04T16:41:41.930 回答
0

我遇到了同样的问题。在 Trident 4.0 浏览器上,应用程序会突然开始引用奇怪的 js 脚本,即

/js/jqu//%3C![CDATA[var%20Paginator_otherActivities%20=%20new%20Paginator();Paginator_otherActivities.setUrl(;

不过,这不会影响用户体验,因为网站仍然可以正常显示。我设法找到了这个问题,并在我的本地服务器上重新运行它,但发生了同样的错误,这让我认为这不是 XSS 攻击。

我运行了一些测试,结果发现问题在于应用程序试图包含太多的js 文件——当我减少这个数量时,问题就停止了。

我找不到任何信息,如果它是 Trident 布局引擎引入的限制,但我记得 IE 曾经限制你可以在每个页面上使用多少个 css 类,所以也许这与微软有关试图智取所有人。

于 2010-03-16T15:16:50.487 回答
0

(Trident/4.0 是 IE 8 的标识,即使 User-Agent 说 IE 7——即 IE 8 在兼容模式下运行。)IE 8 的 Lookahead Downloader 有一个怪癖,它会影响跨越任何第 4096 个字节的 url。生成的结果 url 是紧接在截断之前的字符串和紧随其后的字符串的串联。它似乎将任何单引号或双引号视为分隔符。如果您使用 XHTML,没有实用的方法可以避免从 IE 8 用户那里收到这些 404 错误。

于 2011-03-17T16:24:24.493 回答