2017-04-15 21 views
0

我有一个托管服务的几个域名。他们都有一行javascript添加到标签。它似乎正在将Math.random更改为其他内容,但我无法弄清楚它要完成什么。将一行javascript添加到我所有域的<head>标记中。不知道它是什么或从哪里来的

我也找不到它来自哪里。我主要是WordPress域名,但我的网站中有2个是静态的,并且这些文件多年来一直没有被触及。他们仍然显示这一点。另外,一个Drupal站点也添加了这个。

所以,我希望帮助有两点:1)这是什么做的? 2)它从哪里来?

我在除了手机上的android浏览器以外的任何浏览器中看到它。除了1以外,我没有在其他网站上看到它,所以我不认为它与我的PC或浏览器有关。

这是脚本本身。函数调用的参数中的大数每次都不相同。我对匿名函数不太了解,无法真正理清这里发生的事情。

<script type="text/javascript">/* <![CDATA[ */Math.random=function(a,c,d,b){return function(){return 300>d++?(a=(1103515245*a+12345)%b,a/b):c()}}(237429089,Math.random,0,1<<21);(function(){function b(){try{if(top.window.location.href==c&&!0!=b.a){var p=document.createElement('a');p.href=c;var len=p.hostname.length;var sep='';var path=p.pathname;if(p.hostname.charAt(len-1)!='/'){sep=(p.pathname.charAt(0)=='/')?'':'/';}else{if(p.pathname.charAt(0)=='/'){path=p.pathname.slice(1);}}c='http%3A%2F%2F'+p.hostname+sep+path+'%2F';var a=-1!=navigator.userAgent.indexOf('MSIE')?new XDomainRequest:new XMLHttpRequest;a.open('GET','http://1.2.3.4/cserver/clientresptime?cid=CID5460105.AID1492092648.TID387&url='+c+'&resptime='+(new Date-d)+'&starttime='+d.valueOf(),!0);a.send(null);b.a=!0}}catch(e){}}var d=new Date,a=window,c=document.location.href,f='undefined';f!=typeof a.attachEvent?a.attachEvent('onload',b):f!=typeof a.addEventListener&&a.addEventListener('load',b,!1)})();/* ]]> */</script> 

更新 - 四月18/17

我从其他PC核实这一点,我仍然得到插入的JavaScript。另外,我发现其他几个网站的头文件都有这个代码。他们似乎是WP博客,但不是我检查的所有WP博客都有。

+0

您已被黑客入侵。这可能是来自受损WordPress或Drupal插件的恶意软件。 – Difster

+0

看起来很不错。但下次请格式化代码。所有在一行是不可读的 – TypedSource

+0

你是否得到这只是在你的电脑或其他电脑以及?可能只是一个浏览器插件 –

回答

0

它似乎不是恶意的。联系您的托管服务提供商,了解他们是否正在插入它并/或试图找出他们的其他客户是否也有。

这很难说,但它可能是一个记录,缓存或IE浏览器检测工具(MSIE代表为Microsoft Internet Explorer)。你必须问问他们。

Unminified代码:

Math.random = function(a, c, d, b) { 
    return function() { 
     return 300 > d++ ? (a = (1103515245 * a + 12345) % b, a/b) : c() 
    } 
}(237429089, Math.random, 0, 1 << 21); 

(function() { 
    function b() { 
     try { 
      if (top.window.location.href == c && !0 != b.a) { 
       var p = document.createElement('a'); 
       p.href = c; 
       var len = p.hostname.length; 
       var sep = ''; 
       var path = p.pathname; 
       if (p.hostname.charAt(len - 1) != '/') { 
        sep = (p.pathname.charAt(0) == '/') ? '' : '/'; 
       } else { 
        if (p.pathname.charAt(0) == '/') { 
         path = p.pathname.slice(1); 
        } 
       } 
       c = 'http%3A%2F%2F' + p.hostname + sep + path + '%2F'; 
       var a = -1 != navigator.userAgent.indexOf('MSIE') ? new XDomainRequest : new XMLHttpRequest; 
       a.open('GET', 'http://1.2.3.4/cserver/clientresptime?cid=CID5460105.AID1492092648.TID387&url=' + c + '&resptime=' + (new Date - d) + '&starttime=' + d.valueOf(), !0); 
       a.send(null); 
       b.a = !0 
      } 
     } catch (e) {} 
    } 
    var d = new Date, 
     a = window, 
     c = document.location.href, 
     f = 'undefined'; 
    f != typeof a.attachEvent ? a.attachEvent('onload', b) : f != typeof a.addEventListener && a.addEventListener('load', b, !1) 
})(); /* ]]> 
+0

感谢Optimae。它对我来说并不恶意,但我仍然不明白它在做什么。我向我的托管服务提供商发送了支持请求,他们声称不会添加它。我在另一个不是我的网站上发现了这个相同的脚本,但是我测试过的大多数都是干净的。我看过的那个似乎并不在同一个主机上。 – Bill

1

在其他论坛上的一些质疑之后,我终于能追踪到的答案。这由我使用的ISP(加拿大的Xplornet,美国的Hughesnet)插入到网页中,以跟踪他们的卫星互联网加速的响应时间。它只在使用http协议而不是https的站点中显示(它们不能注入到那些加密的数据包中)。

我不是太肯定,我很高兴与此,因为它会使用更多的带宽,我为他们的目的,他们高高兴兴地收我时,我每个月都去了我的极限。尽快找到新的ISP的另一个重要原因!

但至少它似乎没有恶意的,这不是我的主机或我的电脑有问题,这是很好。

感谢大家的帮助!

相关问题