最近听说对WordPress主题functions.php文件进行污染的恶意代码,我对照网上的测试方法对我的站点进行了测试,万幸,没有检测到这些恶意代码。现在我就将我的检测过程贴出来,希望大家可以用的上。
WordPress主题包含恶意代码的后果
- 自动给主题目录下其他主题末尾加上链接,且无法去掉;
- 在Wordpress的Debug模式下会有错误提示(脚本运行错误的结果);
- 带有一句话木马,给别人留下后门;
- 直接获取你的Wordpress后台账号密码;
- 会在主题中自动添加广告为恶意代码发布者牟利;
看完这些危害是不是很吓人啊?
那么如何才能检测到这些恶意代码呢?一般的杀毒软件如360、Macfree之类根本不去管php文件,这样我们只有手工查找了。
WordPress主题恶意代码特征
请检查主题目录 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包含如下代码的话,就要小心了。当然是不是恶意代码还要进一步判断。
清除方法确认主题包含恶意代码后,最好不要手工清除,除非你技术特别好,但也不能保证没有遗漏的地方。
- 删除有问题的主题
- 将Wordpress重装一遍防止wp-include文件被感染
- 检查以前正常的主题是否被恶意代码感染(有的主题带恶意代码会像病毒一样传染其他正常主题)手工清除其他主题中底部被感染上的代码
以上方法仅仅是个简单的判断方法,对于代码使用base64等常规加密手法后就无能为力了。所以千万不要贪图方便,没有绝对的把握,就不要从非Wordpress官网之外的地方下载主题,尤其是什么高级版免费主题,据说很多都存在不同程度垃圾代码,下载安装后对自己网站的安全造成隐患。
具体感染代码见 WordPress主题污染代码