第一步:紧急处理(隔离与断网)
-
立即断开网站与公网的连接:
- 最佳方法:登录你的服务器/虚拟主机控制面板,将网站的域名解析临时指向一个不存在的IP地址,或者直接在服务器上停止Web服务(如Apache/Nginx),这是最快、最有效的办法,可以防止挂马代码继续扩散和被访问。
- 目的:防止访问者访问到被挂马的页面,避免网站被搜索引擎(如百度、谷歌)标记为“危险网站”,也防止黑客利用你的网站进行恶意活动。
-
备份当前状态:
- 在进行任何修复操作之前,完整备份你当前被挂马的网站文件和数据库,这个备份是用于后续分析和追溯的,不要直接用这个备份恢复网站,否则会重新挂马。
第二步:全面排查与清除(寻找并删除木马)
断网后,你需要像侦探一样,找到所有被植入的恶意代码。
定位挂马文件
挂马文件通常不是网站原有的文件,它们是黑客上传的,重点关注以下目录:
/uploads/:文件上传目录,最常见的位置。/dede/:后台管理目录。/include/:核心函数库目录。- **/templets/ 或 /default/`:模板目录。
- 根目录:有时黑客会直接在根目录创建一个可疑的PHP文件。
如何快速定位?
-
使用杀毒软件/安全工具扫描
- 将网站文件打包下载到本地,使用 D盾_Web查杀、安全狗、360网站卫士 等工具进行全盘扫描,这些工具通常能识别出常见的Webshell(网站后门)和可疑文件。
- 很多云服务商(如阿里云、腾讯云)也提供网站安全检测服务,可以在线扫描你的网站。
-
按时间排序查找
- 通过FTP或服务器的文件管理器,按文件的“修改时间”进行排序,黑客上传的文件或修改的文件,其修改时间通常是你最后一次更新网站之后,或者是一个非常规的时间点(如凌晨、节假日)。
- 重点检查那些你不认识、文件名奇怪的文件(
c.php,php,shell.php,config.php.bak等)。
-
搜索可疑代码
- 如果你知道挂马代码的特征(
<iframe src="...">),可以在整个网站的文件中搜索这个关键词,很多FTP客户端支持在整个目录中搜索。 - 搜索一些常见的Webshell函数,如
eval,assert,base64_decode,str_rot13,gzinflate等。注意:这些函数在正常代码中也可能使用,所以需要结合上下文判断。
- 如果你知道挂马代码的特征(
清除挂马代码
找到挂马文件后,进行以下操作:
- 删除可疑文件:直接删除所有你确认是黑客上传的文件。
- 清除恶意代码:
- 如果是网站原有文件(如
index.php,head.htm)被篡改,你需要找到恶意代码片段并将其删除。 - 恶意代码通常出现在哪里?
- 网页的顶部或底部:在
<body>标签之前或</body>标签之后。 - PHP文件的
<?php和?>标签之间:eval(base64_decode('...'));。 - JS文件中:被插入了一段隐藏的、调用外部恶意脚本的代码。
- 配置文件中:如
data/config.cache.inc.php或data/common.inc.php可能被添加了恶意代码。
- 网页的顶部或底部:在
- 恢复文件:如果你有干净的、未挂马前的文件备份,最好用干净的备份覆盖被篡改的文件,如果没有,只能手动删除恶意代码。
- 如果是网站原有文件(如
检查数据库
黑客也可能在数据库中植入恶意内容,
- 、评论、用户签名中插入
<iframe>或<script>- 在数据库配置文件中存储恶意代码。
你需要登录你的phpMyAdmin,检查网站相关的数据表(如 dede_archives, dede_feedback 等),查找并清理其中的恶意代码。
第三步:寻找并修复安全漏洞(治本)
清除木马只是“治标”,找到黑客是如何进来的(安全漏洞)才是“治本”的关键,否则,你清除了,他很快会再回来。
检查后台登录地址
- 检查你的后台地址是否还是默认的
/dede/login.php,如果是,立即修改后台目录名!这是最常见、最低级的漏洞,随便改成一串复杂的、无规律的字符,my-admin-xyz-2025。
检查管理员账号和密码
- 登录数据库,检查
dede_admin表,查看是否有你不认识的管理员账号,如果有,立即删除。 - 修改所有管理员密码,特别是管理员后台的登录密码,密码必须足够复杂(包含大小写字母、数字、特殊符号,长度12位以上)。
检查文件上传漏洞
- 这是挂马最常用的途径,检查
/uploads/目录下的文件,如果里面有.php,.asp等可执行文件,它们就是后门。 - 修复方法:
- 修改配置文件:打开
/include/config_update.php文件,找到$cfg_uploaddir和$cfg_medias_dir,确保它们的值是绝对路径,并且在路径后面加上 ,防止目录穿越攻击。 - 使用.htaccess(Apache)或nginx配置(Nginx):在
/uploads/目录下创建一个.htaccess文件,禁止执行PHP脚本。# .htaccess 文件内容 <Files "*.php"> Order deny,allow Deny from all </Files> - 对于Nginx,在配置文件中添加:
location ~* ^/uploads/.*\.(php|php5)$ { deny all; }
- 修改配置文件:打开
检查系统版本和漏洞
- 你使用的DedeCMS版本是否过旧?访问DedeCMS官网,查看是否有最新版本,并了解旧版本是否存在已知安全漏洞。
- 强烈建议升级到最新的稳定版本,升级前务必备份数据库和文件!
检查其他可能被篡改的文件
data/common.inc.php:核心配置文件,检查是否被添加了恶意代码。/include/userlogin.class.php:用户登录类文件,可能被植入后门。
第四步:加固与长期维护
- 定期更新:关注DedeCMS官方动态,及时打补丁和升级版本。
- 权限最小化:设置网站文件和目录的权限遵循“最小权限原则”。
- 目录权限建议设为
755。 - 文件权限建议设为
644。 - 可写的目录(如
/data/,/uploads/)权限设为755或775(根据你的服务器环境)即可,不要设为777。
- 目录权限建议设为
- 使用安全插件:可以考虑安装一些安全类插件,如“安全狗”、“D盾”等,它们能提供实时防护和攻击拦截。
- 定期备份:养成定期(如每天)备份网站文件和数据库的好习惯,将备份文件保存在本地和远程服务器上,以防万一。
- 监控网站:使用一些网站监控服务,一旦网站被挂马或无法访问,能第一时间收到通知。
总结流程
- 紧急处理:断开网站连接,防止损失扩大。
- 全面排查:使用工具和手动方式,找到所有挂马文件和恶意代码。
- 彻底清除:删除恶意文件,清理被篡改文件中的代码,检查数据库。
- 修复漏洞:修改后台目录、管理员密码、修复文件上传漏洞、升级系统版本。
- 加固防护:设置正确的文件权限,安装安全软件,定期备份和更新。
这个过程可能需要一些时间和耐心,但为了你的网站安全,每一步都至关重要,如果你对技术操作不熟悉,建议联系专业的网站安全服务商或技术人员来处理。
