2017-04-15 23 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的另一個重要原因!

但至少它似乎沒有惡意的,這不是我的主機或我的電腦有問題,這是很好。

感謝大家的幫助!

相關問題