网站挂马如何查杀清理

wen 网络安全 28

本文目录导读:

网站挂马如何查杀清理

  1. 第一阶段:立即隔离与备份
  2. 第二阶段:使用工具查杀
  3. 第三阶段:手动深度清理(针对顽固残留)
  4. 第四阶段:环境修复与加固(防止再次被挂)
  5. 第五阶段:恢复与验证
  6. 如果情况严重(被入侵导致数据泄露、被搜索引擎标记):
  7. 总结最重要的三条:

网站挂马是常见的安全问题,可能会导致用户数据泄露或网站被搜索引擎标记为危险,以下是系统的查杀和清理步骤,建议严格按照顺序操作:

第一阶段:立即隔离与备份

  1. 立即断网:如果发现网站异常(如弹出广告、跳转其他网站),立即将服务器从公网断开,防止攻击者继续上传恶意文件或控制服务器。
  2. 备份当前环境不要直接覆盖,先完整备份当前的网站文件(包括数据库)到本地或安全的外部存储设备,这份备份用于分析攻击来源,但不用于恢复。
  3. 创建干净备份:如果有之前干净的备份(确认未被感染),可以直接使用,如果没有,继续下一步。

第二阶段:使用工具查杀

不要仅依赖手动查找,病毒可能伪造成系统文件。

服务器端查杀(推荐)

  • Linux服务器

    • ClamAV(免费开源):这是最常用的命令行杀毒软件。
      # 安装(以Ubuntu/Debian为例)
      sudo apt-get install clamav clamav-daemon
      # 更新病毒库
      sudo freshclam
      # 扫描网站根目录(var/www/html)
      sudo clamscan -r --infected /var/www/html
      # 或使用更快的多线程扫描
      sudo clamscan -r --infected --remove /var/www/html  # 直接删除,谨慎使用
    • Maldet(Linux Malware Detect):专门针对Webshell的扫描工具。
      wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
      tar -xzf maldetect-current.tar.gz
      cd maldetect-*
      sudo ./install.sh
      sudo maldet --scan-all /var/www/html --report
  • Windows服务器

    • Windows Defender:可以直接全盘扫描。
    • Webshell专杀工具:如 D盾(D_Safe)、护卫神·网站安全狗等(部分需付费或有限制)。

在线扫描(适合临时、小型站点)

  • VirusTotal:上传可疑文件(如index.php)到 https://www.virustotal.com,看是否有引擎报毒。
  • 站长工具检测:部分站长工具提供在线挂马检测(如百度搜“网站挂马检测”),但不能替代本地扫描

第三阶段:手动深度清理(针对顽固残留)

如果工具只找到一部分,或者无法删除,需要手动操作:

  1. 查找异常文件

    • 按时间排序:登录服务器,进入网站根目录,按“修改时间”排序,寻找最近几小时/几天内被修改的文件(尤其是 index.php, config.php, .htaccess 等)。
    • 查找隐藏文件:使用命令查找隐藏文件(Linux: find /var/www -name ".*")。
    • 查找可疑函数:挂马文件常包含 eval, base64_decode, system, exec, passthru, preg_replace(带e修饰符)等危险函数,使用命令搜索:
      grep -r "eval(" /var/www/html | grep -v "eval" # 排除某些正常文件
      grep -r "base64_decode(" /var/www/html
  2. 检查.htaccess文件:恶意代码常写入这里进行URL重定向,打开所有目录下的 .htaccess,检查是否有 RewriteRule 指向不明域名,或 ErrorDocument 等异常指令。

  3. 检查用户上传目录/uploads/avatar/attachments 等目录如果被上传了 .php.asp.jsp文件,全部删除,这些目录通常应该只允许上传图片等静态文件。

  4. 清理缓存与临时文件:删除网站根目录下的 cache/tmp/runtime/ 等文件夹(注意保留必要的结构),这些是恶意代码的常见藏身地。

第四阶段:环境修复与加固(防止再次被挂)

清理完病毒只是第一步,如果不修复漏洞,很快就会再次被入侵。

  1. 修复已知漏洞

    • CMS/框架:登录后台,检查是否有更新。必须升级到最新版本(WordPress、DedeCMS、ThinkPHP等)。
    • 插件/主题:删除所有停止更新、来源不明、长时间未更新的插件和主题,这是最常见的攻击入口。
    • 弱口令:修改所有密码(后台管理员、FTP、SSH、数据库),密码至少16位,包含大小写字母+数字+特殊符号。
  2. 服务器配置加固

    • 禁用危险函数(PHP):在 php.ini 中禁用以下函数(在生产环境强烈推荐):
      disable_functions = shell_exec, exec, system, passthru, popen, proc_open, eval, assert
    • 设置文件权限
      # 网站根目录所有者为www用户(非root)
      chown -R www:www /var/www/html
      # 目录权限755,文件权限644
      find /var/www/html -type d -exec chmod 755 {} \;
      find /var/www/html -type f -exec chmod 644 {} \;
    • 限制上传目录执行权限:防止上传的恶意文件被解析执行(以Apache为例,在 uploads 目录下创建 .htaccess):
      <FilesMatch "\.(php|php5|phtml|asp|jsp)$">
          Deny from all
      </FilesMatch>
  3. 启用Web应用防火墙(WAF)

    • 免费方案:Cloudflare(免费版提供基础防护)、ModSecurity(开源WAF)。
    • 付费方案:阿里云WAF、腾讯云WAF、安全狗等。

第五阶段:恢复与验证

  1. 恢复干净备份

    • 如果有确认未被感染的备份,直接恢复。
    • 谨慎恢复数据库:数据库也可能被写入恶意内容(如 wp_options 表被插入恶意JS),建议从备份中只恢复内容表,而不是全部覆盖,如果不确定,导出数据库SQL文件,查找可疑字符串(如 <script>eval)。
  2. 验证修复效果

    • 再次扫描:重复第二阶段的扫描,确保无残留。
    • 浏览器测试:使用不同浏览器访问网站,检查是否跳转、弹出广告。
    • 检查搜索引擎:在Google Search Console或百度站长平台查看“安全与手动操作”,请求重新审核。
    • 监控日志:开启服务器访问日志,观察未来48小时内是否有异常IP频繁请求 POST 接口或特定路径。

如果情况严重(被入侵导致数据泄露、被搜索引擎标记):

  1. 联系专业安全公司:如知道创宇、绿盟、启明星辰等,或购买云服务商提供的应急响应服务。
  2. 上报:如数据涉及用户隐私(身份证、银行卡等),需按当地法律要求(如网安、工信部)报告。

总结最重要的三条:

  1. 立刻断网,备份被感染的环境(方便溯源)。
  2. 使用工具(ClamAV/Maldet)扫描,配合手动清理(不要盲目删文件)。
  3. 修漏洞、改密码、限制上传目录执行权限(不修漏洞等于白干)。

注意:如果对服务器操作不熟悉,建议优先找专业人员或云服务商的技术支持,避免误删核心文件导致网站彻底瘫痪。

抱歉,评论功能暂时关闭!