处理流程可以分为紧急响应、深度清理、安全加固、长期监控四个步骤,请严格按照顺序操作。

(图片来源网络,侵删)
第一步:紧急响应(隔离与诊断)
这个阶段的目标是最快速度止损,防止病毒进一步传播。
-
立即断开网站与外网的连接
- 操作:登录您的服务器(虚拟主机或云服务器),在网站管理后台或服务器控制面板中,暂时关闭网站的域名解析,这样,所有用户就无法再访问到被挂马的网站,防止更多用户中毒。
- 为什么:这是最关键的一步,在完全清理干净之前,让网站离线是保护访客和防止服务器被进一步利用的唯一方法。
-
下载并分析网站文件
- 操作:通过FTP或SSH,将整个网站目录(
/dede/、/data/、/include/、/templets/等所有文件夹)下载到本地电脑。 - 为什么:本地分析比在线分析更安全,可以防止服务器上的恶意程序在您查看时再次感染。
- 操作:通过FTP或SSH,将整个网站目录(
-
找到并识别挂马文件
- 如何查找:
- 手动检查可疑文件:重点检查以下几个目录和文件,黑客最喜欢在这些地方动手脚:
index.php、index.html(首页被篡改)data/目录下的所有文件(核心数据目录,容易被植入后门)include/目录下的文件(包含文件,容易被加入恶意代码)templets/目录下的模板文件(在模板里加入<iframe>或<script>- 任何您不认识的、最近被修改过的文件。
- 使用工具批量扫描:
- 杀毒软件:将下载的整个网站文件夹用360杀毒、火绒、卡巴斯基等杀毒软件进行全盘扫描,很多杀毒软件能识别并清除常见的Webshell和恶意脚本。
- D盾:如果您是Windows服务器用户,可以使用“D盾_防火墙”等安全工具,它专门针对PHP网站进行安全检测,能快速找出可疑文件。
- Linux下使用ClamAV:如果您是Linux服务器,可以安装
ClamAV杀毒软件进行扫描。 - 在线文件扫描:将打包好的网站文件上传到一些在线查毒网站(如 VirusTotal)进行多引擎扫描,能获得更全面的检测结果。
- 手动检查可疑文件:重点检查以下几个目录和文件,黑客最喜欢在这些地方动手脚:
- 如何查找:
-
分析挂马代码
- 操作:用代码编辑器(如 VS Code, Sublime Text)打开扫描出的可疑文件。
- 识别类型:
- iframe挂马:最常见,代码通常是
<iframe src="http://恶意域名/a.html" width="0" height="0" frameborder="0"></iframe>或<iframe style="display:none" src="..."></iframe>,特点是width和height为0或非常小,display:none。 - JS脚本挂马:在文件末尾或中间插入了
<script src="http://恶意域名/js.js"></script>。 - Base64加密挂马:代码被Base64加密,看起来像一堆乱码,需要先解码才能看到真实内容。
- PHP后门:文件中包含了如
eval(),assert(),file_put_contents(),str_replace()等危险函数组合,可以直接执行远程代码。
- iframe挂马:最常见,代码通常是
第二步:深度清理(删除与修复)
这个阶段的目标是彻底清除所有恶意代码和后门。
-
清理恶意代码
- 操作:对于每个被感染的文件,不要直接删除,因为可能包含您自己的重要代码,最好的方法是:
- 备份一个干净的版本:如果您有网站被挂马前的备份,直接用干净的文件覆盖。
- 手动删除恶意代码:打开被感染的文件,找到并完全删除黑客插入的所有恶意代码行(如
<iframe>,<script>,eval()等),然后保存。 - 重置文件:如果文件被修改得太厉害,无法修复,直接从官方织梦CMS网站下载对应版本的源文件,覆盖掉被感染的文件。
- 操作:对于每个被感染的文件,不要直接删除,因为可能包含您自己的重要代码,最好的方法是:
-
检查并修改数据库
- 为什么:黑客可能会在数据库里存储恶意信息,或者修改网站配置。
- 操作:
- 登录您的网站数据库(通常是
phpMyAdmin)。 - 检查
dede_arctype(栏目表)、dede_archives(文章表)、dede_config(配置表)等主要表,看是否有异常记录,比如被插入了一些指向恶意域名的链接或内容。 - 检查
dede_admin(管理员表),确认管理员账号密码是否被篡改,如果被篡改,立即修改管理员密码。 - 检查数据库配置文件
/data/common.inc.php,确认里面的数据库用户名和密码是否正确且安全。
- 登录您的网站数据库(通常是
-
清理服务器
- 为什么:挂马有时不仅仅是网站文件的问题,可能是服务器本身被入侵了。
- 操作:
- 检查网站根目录上级目录:有时候黑客会在 目录下创建隐藏的后门文件。
- 检查服务器计划任务:在Linux下用
crontab -l,在Windows下检查“任务计划程序”,看是否有异常任务,比如定时执行脚本去下载挂马文件。 - 检查服务器启动项:看是否有异常的服务或脚本在开机时自动运行。
第三步:安全加固(预防与修复)
清理干净后,必须修复漏洞,防止再次被入侵。
-
修改所有密码
- 操作:立即修改以下所有密码,并且确保新密码足够复杂(大小写字母+数字+符号):
- 网站后台登录密码 (
/dede/login.php) - FTP/SFTP密码
- 数据库密码 (
/data/common.inc.php) - 服务器/主机控制面板密码
- 数据库管理密码 (
phpMyAdmin)
- 网站后台登录密码 (
- 操作:立即修改以下所有密码,并且确保新密码足够复杂(大小写字母+数字+符号):
-
修复织梦CMS已知漏洞
- 更新到最新稳定版:这是最重要的一步!访问织梦官方社区,下载并升级到您当前版本的最新补丁包,或者直接升级到最新的稳定版,新版本通常修复了已知的严重安全漏洞。
- 删除不必要的文件和目录:
- 删除安装目录:
/install/目录在安装完网站后必须立即删除!这是最常见的入侵入口之一。 - 删除演示数据:删除默认的“织梦资讯”等演示数据和栏目。
- 删除不必要的文件:如
install_lock.txt,dede/目录下的makehtml_mark.htm等可能被利用的文件。
- 删除安装目录:
-
加强目录和文件权限
- 操作:在服务器上设置正确的文件权限(Linux系统)。
- 网站根目录权限设为
755。 - 所有文件权限设为
644。 - 可写目录(如
data/,uploads/,a/等)权限设为755或777(777风险极高,不推荐,755通常足够)。 - 重要:
/data/目录是核心目录,权限设置要非常小心,确保644或755即可,不要轻易设为777。
- 网站根目录权限设为
- 操作:在服务器上设置正确的文件权限(Linux系统)。
-
关闭或删除不必要的管理员账号
在织梦后台,删除所有不再使用的管理员账号,只保留必要的管理员。
第四步:长期监控与维护
安全是一个持续的过程。
-
定期备份
- 操作:建立自动备份机制,定期(如每天)备份网站文件和数据库,并将备份文件保存在本地和远程(如另一台服务器、云存储)两个地方,以防服务器被攻陷导致备份一同丢失。
-
定期安全扫描
- 操作:每周或每月,使用第一步提到的安全工具(D盾、ClamAV等)对网站进行一次全面扫描,做到“早发现,早处理”。
-
关注安全资讯
- 操作:关注织梦官方社区、安全厂商(如知道创宇、补天)的漏洞报告,一旦有新的织梦漏洞爆出,立即进行修复。
-
考虑使用Web应用防火墙 (WAF)
- 操作:如果网站流量较大或非常重要,建议部署WAF(如云服务商的WAF服务,或ModSecurity等开源WAF),WAF可以有效拦截SQL注入、XSS、文件上传等绝大多数Web攻击。
处理流程清单
| 步骤 | 核心任务 | 关键操作 |
|---|---|---|
| 紧急响应 | 隔离止损 | 关闭域名解析 下载全站文件到本地 用杀毒工具扫描找出挂马文件 |
| 深度清理 | 彻底清除 | 清除/修复所有被感染的文件 检查并清理数据库中的恶意数据 检查服务器计划任务等 |
| 安全加固 | 修复漏洞 | 升级到最新版织梦CMS 修改所有密码(后台、FTP、数据库) 删除 /install/ 等危险目录设置正确的文件权限 |
| 长期维护 | 预防为主 | 定期备份(本地+远程) 定期进行安全扫描 关注安全资讯,及时打补丁 |
处理挂马需要耐心和细心,切忌只删除表面的挂马代码而忽略了后门和漏洞修复,按照以上步骤,您应该可以成功解决织梦网站被挂马的问题。
