织梦模板被植入恶意代码检测_织梦被挂马清理_根本原因分析与根治方案
DedeCMS(织梦)是国内被挂马最严重的CMS之一,很多站长遇到的情况是:删除了木马文件,没过几天又出现了;清理了首页的恶意代码,刷新后又被篡改了。这种顽固木马的特点是有自我复制机制和多个备份入口,单纯删除表面文件无法根治。本文讲解DedeCMS顽固木马后门的检测、专杀、清除全流程,帮助站长彻底解决反复被挂马的问题。
第二步是搜索危险函数和特征码。使用grep或文件搜索工具,在全站PHP文件中搜索以下关键词:eval、assert、system、exec、shell_exec、passthru、base64_decode、gzinflate、str_rot13、preg_replace(带/e修饰符)、create_function、call_user_func、${${、$_POST、$_GET、$_REQUEST、$_COOKIE。正常的DedeCMS文件中很少同时出现多个危险函数,如果某个文件中包含eval(base64_decode(...))或assert($_POST[...])这样的代码,基本可以确定是木马。
第三步是检查异常文件。重点关注以下位置:include目录中的异常PHP文件(正常的DedeCMS include目录有固定的文件列表,多出来的文件很可能是木马)、data目录中的PHP文件(data目录正常存储缓存和配置,不应该有可执行的PHP文件)、uploads目录中的PHP文件(上传目录不应该有PHP文件)、templets目录中的PHP文件(模板目录正常是htm文件,不应该有PHP文件)、以点开头的隐藏文件、文件名类似正常文件但有细微差别的文件(如config.php.bak、common.inc.php.swp)。
第二步是清除文件层面的木马。对于确认是木马的文件,直接删除。对于被篡改的核心文件,从官方安装包中提取原始文件覆盖回去。覆盖前备份被篡改的文件作为证据。注意有些木马文件设置了不可修改属性(chattr +i),需要先执行chattr -i解除属性再删除。有些木马文件的所有者是其他用户(如apache或www-data),需要使用对应权限或root权限删除。删除完成后,再次运行扫描工具确认没有残留。
第三步是清除数据库层面的后门。登录phpMyAdmin或数据库管理工具,检查以下内容:管理员表(dede_admin)中是否有陌生的管理员账户,有则删除。文章表(dede_archives)和附加表中是否有被植入的恶意JS代码和黑链,使用SQL语句批量替换清除。设置表(dede_sysconfig)中是否有被篡改的配置项,恢复正常值。模板表(dede_tpl)中是否有被植入恶意代码的模板,清除恶意代码。数据库用户中是否有陌生的用户,删除并撤销权限。
对于反复被入侵、无法彻底清除的DedeCMS站点,最彻底的解决方案是全新安装。步骤如下:第一,备份数据库和上传的图片附件(uploads目录中的图片,不要备份PHP文件)。第二,删除网站根目录下的所有文件。第三,从官方下载最新版本的DedeCMS,全新安装。第四,恢复数据库(恢复前检查数据库中是否有恶意代码和后门账户,有则先清理)。第五,恢复uploads目录中的图片附件。第六,重新安装模板(从官方或可信来源获取模板,不要使用被入侵时的模板)。第七,进行全面安全加固。全新安装能确保程序文件是干净的,避免顽固木马残留。
站长反馈:DedeCMS网站被挂马后,用了好几个专杀工具都没彻底清除,木马每天都会重新出现。后来按照完整流程排查,发现是include/common.inc.php被植入了自动生成木马的代码,每次访问网站就会在data目录生成一个新的木马。清除了核心文件中的恶意代码后,木马不再生成,问题彻底解决。
专杀提醒:清除DedeCMS顽固木马时,不要只依赖专杀工具,必须结合手动排查和文件校验和对比。工具只能识别已知特征的木马,对于加密混淆和自定义特征的木马无能为力。全面排查、一次性清除所有后门,才能避免反复被挂马。

更新时间:2026-08-27 11:18:55
上一篇:织梦dedecms被植入JS跳转木马和黑链_防止黑客二次进入_清理与修复_专杀教程