网站被攻击无法使用如何自己排查问题

2026年5月13日服务端开发评论1,522字数 873阅读2分54秒阅读模式

被攻击如何排查

最近有同事突然报告说网站管理后台无法登录了,检查了一圈才发现网站被攻击了,攻击者在项目中上传了一些后门文件,并修改了数据库的连接配置信息。

要不是因为数据库配置被修改,导致无法登录,还真的不一定能被发现。

于是紧急修复了下,删除了后门文件,恢复了数据库配置,暂时算是解决了问题,估计这期间登陆的用户资料肯定是泄漏了,不过好在没有更严重的损失。

以下是我这次排查和处理的步骤,分享给大家参考一下:

一、查最近新增文件

通常被攻击后会有一些新的文件被上传或者修改,尤其是一些后门文件或者恶意脚本。

可以通过查找最近7天内修改过的文件来排查:

find /网站目录 -type f -mtime -7

或者:

find /网站目录 -type f | grep -E '\.(php|phtml|ico)$'

重点排查这些目录:

  • uploads
  • cache
  • tmp
  • runtime
  • storage
  • public

有些文件一看就不是项目中有的,就需要留意了。

二、搜索危险函数

PHP项目中,有一些函数经常被攻击者用来执行恶意代码,正常情况下不应该频繁出现。

可以搜索这些敏感的函数来排查:

grep -R "base64_decode" /网站目录
grep -R "eval(" /网站目录
grep -R "shell_exec" /网站目录
grep -R "assert(" /网站目录

三、查异常定时任务

为了持久化攻击,攻击者可能会设置一些定时任务来定期执行恶意代码,可以通过查看当前用户和root用户的crontab来排查:

crontab -l
sudo crontab -l

ls -al /etc/cron*

四、查可疑进程

为了排查是否有异常进程在运行,可以使用以下命令查看当前系统的进程:

ps auxf

重点看:

  • curl
  • wget
  • bash
  • python
  • perl

是否有异常联网。

结语

说实话,以上方法只能大概看下是否有被攻击的痕迹,以及简单的处理。

不过也不要把这些攻击者想的多厉害,大部分也就是利用漏洞上传一些后门文件,或者修改一些文件来执行恶意代码。

平时做好安全防护,及时更新系统和应用的补丁,定期备份数据,才是最重要的。

备份!备份!备份!!

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定