本文目录导读:

网页木马是一种恶意代码,通常被植入到网页的HTML、JavaScript、PHP等文件中,用于窃取用户信息、重定向流量或传播病毒,查杀和清理网页木马需要一定的技术知识,请根据以下步骤操作:
断开网络连接(关键第一步)
- 目的:防止木马继续向外传输数据或下载更多恶意文件。
- 操作:立即拔掉网线、关闭Wi-Fi或断开服务器网络。
使用专业安全工具扫描(推荐首选)
对于大多数普通用户,使用专门的网站安全扫描工具是最快、最安全的方法。
- 在线扫描平台:
- Sucuri SiteCheck:免费扫描网站恶意代码和黑名单状态。
- VirusTotal:扫描文件或URL,聚合多个杀毒引擎结果。
- Quttera:专门检测网页木马和后门。
- 本地安全软件:
- Wordfence(针对WordPress网站):插件形式,有强大防火墙和恶意软件扫描功能。
- Malwarebytes:可以扫描本地下载的网站备份文件,查杀隐藏木马。
手动查找与清理(进阶操作,需谨慎)
如果自动工具无法解决,或你需要深入排查,可以手动检查常见感染位置:
常见木马藏匿位置
- 核心目录:
/wp-admin/、/wp-includes/(WordPress)Uploads文件夹(常被上传伪装图片的木马)- 根目录下的
index.php、.htaccess文件
- 混淆手法:
- 编码字符串:
base64_decode(.....)、eval(gzinflate(....))等函数。 - 隐藏eval:用
@eval($_POST['x'])或assert($_REQUEST['cmd'])执行命令。 - 文件头部或尾部插入加密字符串。
- 编码字符串:
清理步骤(建议在命令行或代码编辑器中操作,如VS Code、Sublime):
- 备份网站:在清理前,必须先完整备份整个网站文件和数据库。
- 查看最近的修改(Linux用
find命令):find . -type f -mtime -3 # 查找最近3天内修改过的文件 ls -la /path/to/site # 检查是否有隐藏文件(点开头的文件)
- 搜索危险代码:
- 在代码编辑器中搜索:
base64_decode、eval(、assert(、system(、shell_exec、preg_replace(/.*/e等。 - 注意:正常代码中也可能出现这些函数,但通常伴随着特定用途(如插件中的合法加密),如果一个普通PHP文件(如
index.php)头部或尾部出现大量无注释的、不可读的字符串(如<?php eval(base64_decode("...长字符串...")); ?>),极可能是木马。
- 在代码编辑器中搜索:
- 删除可疑文件:
base64.php、shell.php、c99.php、adminer.php、wp-...-hook.php等命名奇怪的文件。- 如果文件内容明显无害但被篡改,可用干净备份替换。
修复系统漏洞(防止再次感染)
清理后,漏洞依然存在,木马可能卷土重来,需要做:
- 更新所有软件:CMS(如WordPress、Joomla)、插件、主题、服务器操作系统。
- 更改所有密码:
- FTP/SFTP 密码
- 数据库密码
- CMS管理员密码
- 主机控制面板密码
- 检查用户账户:在CMS后台清理可疑管理员用户。
- 检查.htaccess文件:查看是否有恶意重定向规则。
- 检查插件和主题:删除所有未使用或来源不明的插件/主题。
使用CDN/WAF加强防护
- Cloudflare:启用免费WAF(Web应用防火墙),可拦截常见SQL注入和XSS攻击。
- Sucuri或Wordfence防火墙:提供实时恶意流量过滤。
特别警告
- 不要直接执行来路不明的命令:网上有些“一键清理木马”的PHP脚本,本身可能就是木马。
- 不要直接删除系统核心文件:如
wp-includes下的文件,除非你确定是恶意新增的。 - 如果自己无法处理:建议联系主机提供商(他们通常有安全团队)或聘请专业的网络安全公司。
总结步骤
- 断网 -> 2. 用Sucuri/VirusTotal扫描 -> 3. 手动检查核心文件和可疑文件 -> 4. 用干净备份替换被感染文件 -> 5. 升级所有软件、改密码、删无用插件 -> 6. 启用CDN/WAF -> 7. 监控日志一周。
如果发现清理后网站仍异常,请立即重新断网并请专家介入。