核心思想:删除不是目的,安全才是根本
单纯删除木马文件是治标不治本的,黑客会再次利用网站的漏洞重新挂马,完整的处理流程应该是:清除木马 -> 查找并修复漏洞 -> 加强安全防护。

(图片来源网络,侵删)
第一步:紧急处理(断网与备份)
在开始任何操作之前,请先做好这两步,防止损失扩大。
- 立即断网:如果网站还在运行,请立即通过服务器控制面板或联系你的主机商,将网站暂时下线,这可以防止木马进一步传播,防止你的网站被用来攻击其他用户,也防止你的数据(如用户信息、后台密码)被窃取。
- 备份网站:在修改任何文件之前,完整备份你当前的网站文件和数据库,即使网站被感染,备份也是你恢复原状或进行分析的基础,将备份下载到本地安全的地方。
第二步:定位木马文件
木马文件通常伪装得很巧妙,它们可能藏在以下位置:
/data/目录:这是 DedeCMS 的核心数据目录,存放着缓存、配置文件等,是木马最喜欢藏身的地方。- 根目录下的可疑文件:检查网站根目录下是否有不认识的、奇怪的文件名,
php,php,shell.php,config.php(如果根目录下出现一个全新的config.php就非常可疑)。 /templets/或/images/等模板目录:黑客可能会在这些目录里创建木马文件,或者修改模板文件(.htm,.html)在里面插入恶意代码。/include/目录:这个目录包含核心的 PHP 类库,也可能被修改或植入文件。
如何查找?
-
手动排查(适合小网站):
- 按照上面的路径,逐个打开文件夹查看文件列表,重点关注文件名很乱、文件大小异常(比如一个几十KB的HTML文件)或者修改日期很新的文件。
- 用记事本打开可疑的
.php文件,如果看到eval,base64_decode,assert,file_put_contents,$_POST,$_REQUEST等危险函数,那基本就是木马了。
-
使用工具(高效推荐):
(图片来源网络,侵删)- DedeCMS官方安全检测工具:去 DedeCMS 官网下载最新的安全补丁或检测工具,运行它可以帮你快速扫描出被修改的文件和可疑的代码。
- Linux服务器 -
grep命令:如果你有服务器SSH权限,这是最快的方法。# 在整个网站目录下搜索包含危险函数的PHP文件 grep -r "eval(base64_decode(" . --include="*.php" grep -r "assert(" . --include="*.php" grep -r "file_put_contents.*config" . --include="*.php"这条命令会帮你找出所有包含恶意代码的PHP文件。
第三步:清除木马
根据第二步的定位结果,进行清理。
-
删除可疑文件:
- 将所有找到的、确认是木马的文件(如
php,shell.php等)直接删除。 - 注意:不要删除
data/cache目录下的所有缓存文件,它们是系统自动生成的,可以安全清空,但不要删除config.cache.inc.php等核心配置缓存文件,除非你确定它被修改了。
- 将所有找到的、确认是木马的文件(如
-
清除恶意代码:
- 如果是模板文件(
.htm,.html)被修改,你需要用 Dreamweaver、VS Code 或记事本打开这些文件。 - 找到被插入的恶意代码(通常在文件的最顶部或最底部,是一串经过加密的
eval()代码)。 - 将这段恶意代码完整删除,然后保存文件。
- 如果是
.php核心文件(如index.php,member/index.php)被植入代码,同样用文本编辑器打开,删除恶意代码,然后保存。
- 如果是模板文件(
-
恢复被篡改的文件:
- 最稳妥的方法是,从一份干净的 DedeCMS 安装包中,用相同版本的文件去覆盖你网站上被修改的核心文件,如果
include/common.inc.php被修改了,就从官方安装包里复制一个干净的common.inc.php上传到你的服务器上覆盖它。
- 最稳妥的方法是,从一份干净的 DedeCMS 安装包中,用相同版本的文件去覆盖你网站上被修改的核心文件,如果
第四步:查找并修复根源(最关键的一步!)
为什么你的网站会被挂马?一定是因为存在漏洞,找到并修复它,否则网站会再次被入侵。
-
检查后台管理员密码:
- 这是最常见的入口! 检查你的 DedeCMS 后台管理员密码是否过于简单(如
admin,123456,password)。 - 立即修改为一个足够复杂的密码(包含大小写字母、数字、特殊符号,长度12位以上)。
- 检查是否有其他管理员账号,一并检查和修改。
- 这是最常见的入口! 检查你的 DedeCMS 后台管理员密码是否过于简单(如
-
检查目录权限:
/data/目录权限:这是重中之重!/data/目录及其下所有文件和文件夹的权限最高不要设置为 777,建议设置为755(目录)和644(文件),如果设置为 777,任何人都可写入,木马会轻而易举地被上传进去。/templets/,/uploads/等上传目录:这些目录的权限也不要设置为 777,如果必须有写入权限,可以尝试设置为755,并仔细检查目录下是否有陌生文件。- 使用
find命令查找777权限的目录(Linux):find /path/to/your/website -type d -perm 777 find /path/to/your/website -type f -perm 777
-
检查文件和目录执行权限:
- 确保图片、HTML模板等非PHP文件目录(如
/images/,/templets/)没有执行权限,黑客如果在上传目录里上传了PHP文件,但没有执行权限也无法运行。 - 使用
find命令查找可执行的目录(Linux):find /path/to/your/website -type d -perm -o=x
你可以移除这些目录的
o+x权限。
- 确保图片、HTML模板等非PHP文件目录(如
-
检查是否是DedeCMS程序漏洞:
- 确保你使用的 DedeCMS 版本不是非常老旧的版本。
- 去 DedeCMS 官网查看是否有针对你当前版本的安全补丁,并及时更新。
-
检查是否有其他弱密码入口:
检查你的FTP、数据库、服务器SSH等所有相关服务的密码,确保都足够强大。
第五步:恢复网站与加强防护
-
恢复网站:
- 确认所有木马已清除,漏洞已修复后,将网站重新上线。
- 如果你的数据库也被篡改(比如被添加了管理员账号),你需要登录phpMyAdmin,手动清理数据库中的恶意数据。
-
长期防护措施:
- 定期更新:关注 DedeCMS 官方动态,及时打补丁和升级程序。
- 定期备份:养成定期备份网站文件和数据库的习惯,并异地存放一份。
- 使用安全插件:可以考虑安装一些网站防火墙或安全监控插件(如安全狗、云锁等),它们可以拦截恶意请求。
- 文件监控:使用服务器工具(如
inotify)监控关键目录(如/data/,/uploads/)的文件变化,一旦有新文件写入立即报警。 - 最小化权限原则:只给程序运行所必需的最小权限,不多给一分。
总结流程
断网备份 -> 定位木马 -> 清除木马 -> 修复漏洞(改密码、调权限、打补丁) -> 恢复上线 -> 长期防护
如果以上步骤对你来说操作困难,或者网站非常重要,强烈建议联系专业的网站安全服务商或服务器运维人员进行处理,他们能更专业、更彻底地解决问题。
