网站被植入恶意代码后,访问者可能遭遇弹窗劫持、跳转到陌生页面,甚至被窃取个人信息;网站自身也可能被浏览器和搜索引擎标注为风险站点,搜索流量大幅下滑。要快速定位并清除隐患,需要从用户访问端到服务器内部做一次系统的排查。
打开网站时留意页面的行为变化。如果你发现出现此前从未见过的弹窗广告、页面自动跳转到让你陌生的域名,或是页面响应明显变慢、设备风扇突然高速运转,这都值得警惕。
判断问题源头时,换一台系统干净、没有安装任何浏览器插件的设备访问网站,手机和电脑各试一次。如果异常依然存在,基本可以确认问题出在网站服务器端,而非你的本地设备。
在浏览器中按 F12 键或右键选择“查看页面源代码”,利用搜索功能查找 eval、base64_decode、document.write 等常见混淆函数。同时留意源代码中是否存在指向陌生域名的 iframe 标签,以及看起来像乱码的一长串变量名。一旦发现这些可疑片段,先复制去搜索引擎比对,确认其是否为已知的恶意载荷。
访问端能确认异常现象,但真正的清理工作必须在服务器上完成。优先关注最近两三天内被修改的文件,因为入侵者植入的木马脚本往往也是这个时间窗口内生成的。
如果文件系统扫描没有发现异常,还需要检查正在运行的进程。使用 ps aux 或 top 查看 CPU 占用率偏高的进程及其完整路径,确认是否属于正常业务程序。有些木马会伪装成常见的系统进程名,此时可以结合进程的启动时间与所在目录来综合判断。
手工排查容易遗漏藏得较深的恶意文件,建议在操作前后各运行一轮自动化扫描工具进行交叉验证。
需要注意,扫描工具报告的文件不要直接删除。应先将文件下载到本地备份,再做隔离处理;即使确认是误报,也还能恢复,避免误删正常业务文件导致网站故障。
清除木马只是第一步,如果入侵入口没有封堵,第二天网站很可能再次被攻破。花些时间查看 Web 服务器的访问日志,例如 Nginx 的 access.log 或 Apache 的 access_log。
优先寻找以下几种模式:某个 IP 在极短时间内发起大量 POST 请求;URL 参数中带有 cmd、whoami、curl 等命令执行特征;User-Agent 字段看起来像脚本自动生成的。定位到攻击来源 IP 后,在防火墙层面封禁该地址,同时检查对应时段的账号登录记录,确认管理后台是否有暴力破解的痕迹。若发现可疑的管理员账号,及时修改密码并启用双重认证。
先断网或停掉对外的服务,避免恶意代码继续传播给访问者。随后下载网站文件到本地进行备份,并按照上述步骤从访问端、服务器文件、进程、日志几个层面逐项排查,确认清除干净后再重新上线。
不建议直接删除。先复制一份到本地保存,然后查看文件内容确认是否为恶意代码。如果无法确定,将文件重命名并移出可执行目录,观察网站是否出现异常;确认误报后再恢复原文件,这样操作更稳妥。
做好三件事:一是保持程序与插件及时更新,关闭不用的功能模块;二是为服务器和后台设置高强度独立密码,并开启两步验证;三是定期备份文件和数据库,并将日志监控打开,发现异常时能尽早介入处理。
网站被挂马后,按部就班的排查顺序能显著缩短处理时间:先确认访问端异常,再深入服务器检查文件、进程,配合自动扫描工具交叉验证,最后通过日志分析堵住入口。清除恶意代码后务必做好加固与备份,形成定期的巡检习惯,才能让网站长期保持安全稳定。