网站webshell查杀,一句话木马识别方法

网站被植入webshell后,最常见的表现是首页被篡改、跳转到博彩页面或服务器向外发起异常请求。
一句话木马是其中体积最小、隐藏最深的一类。
本文按零基础也能执行的顺序,讲清楚从发现可疑文件到清理加固的完整流程。

准备排查环境

开始前先确认三件事:

  • 备份网站文件和数据库。查杀过程中可能误删正常文件,备份是兜底手段。
  • 确认网站根目录路径,例如宝塔面板默认在 /www/wwwroot/你的域名。
  • 准备SSH工具,FinalShell、Xshell或系统自带终端均可。

登录服务器后,先记录当前时间,后续按修改时间筛选文件时要用到。

date

定位可疑文件

一句话木马通常体积很小,常见几十字节到几KB。
先按文件大小和修改时间筛选。

查找最近7天内被修改的PHP文件:

find /www/wwwroot -name "*.php" -mtime -7 -type f

查找小于5KB的PHP文件:

find /www/wwwroot -name "*.php" -size -5k -type f

重点检查上传目录、缓存目录和模板目录,这些位置权限较松,容易被写入。

find /www/wwwroot -path "*/uploads/*" -name "*.php"

如果结果里出现 uploads、cache、data 等目录下的PHP文件,基本可以判定异常。
正常业务不会把PHP脚本放在上传目录里。

一句话木马的典型特征

一句话木马的核心逻辑是接收外部参数并执行。
常见形式包括:

识别时关注这几个函数:eval、assert、system、exec、shell_exec、passthru、popen、base64_decode。
如果这些函数和 $_POST、$_GET、$_REQUEST 同时出现,风险极高。

用grep批量搜索:

grep -rn --include="*.php" -E "eval\(|assert\(|system\(|shell_exec\(|passthru\(" /www/wwwroot

注意:部分正常程序也会用到这些函数,需要结合文件路径和代码上下文判断。

清理与加固

确认木马文件后,不要直接删除,先重命名隔离:

mv /www/wwwroot/你的域名/uploads/x.php /tmp/x.php.bak

观察网站是否报错,确认无影响后再删除。

清理完成后做三件事:

  • 修改数据库密码、后台管理员密码和FTP密码。
  • 检查定时任务,删除可疑条目:crontab -l。
  • 检查SSH授权密钥:cat ~/.ssh/authorized_keys,删除陌生公钥。

避坑与验证

不要只删文件不查入口。
木马能写进来,说明上传接口、弱口令或已知漏洞还没堵住。
建议同时更新CMS和插件到当前稳定版本。

不要忽略图片马。
有些木马藏在图片文件里,用以下命令检查图片中是否混入PHP代码:

grep -rl "

验证查杀效果:再次执行前面的find和grep命令,确认没有新的可疑文件;
观察网站访问日志,确认没有异常的POST请求持续出现。

如果使用宝塔面板,可在“文件”中按修改时间排序人工复查,并在“安全”中开启防火墙和木马查杀功能作为辅助。

常见疑问

查杀后网站打不开怎么办?
先看PHP错误日志,常见原因是误删了正常文件。从备份中恢复对应文件即可。

一句话木马和普通后门有什么区别?
一句话木马代码极短,通常只有一行,依靠外部传入参数执行命令,隐蔽性更强,但功能上同样危险。

多久排查一次比较合适?
建议至少每月检查一次文件修改记录,发现异常访问后立即排查。

网站webshell查杀的关键在于快速定位异常文件并切断入侵入口。
按本文步骤执行后,如果仍有可疑进程或外连,建议进一步检查系统层是否被植入其他后门。

分享到:
上一篇
高防IP业务切换,故障切流操作步骤
下一篇
网站被挂黑链完整清理流程,加固防再次入侵
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意