
打开自己的网站,没看到首页,浏览器直接跳转到一个博彩网站。你刷新,还是一样。用手机打开,也一样。
或者更惨——谷歌搜你的网站,标题下面跟着一行红字:“该网站可能包含恶意软件,继续访问可能损害您的计算机。”
那一瞬间,你的第一反应是什么?慌。然后呢?不知道。
我经历过。今天就告诉你,被挂马之后,每一步该做什么。
先看一个数据
某安全厂商统计,超过60%的网站被黑事件,在被发现之前已经持续运行了30天以上。也就是说,黑客在你的网站里住了整整一个月,你都不知道。为什么发现不了?因为很多挂马是有条件的——只对搜索引擎爬虫跳转,普通访客看正常。你的排名被降了,你还蒙在鼓里。
第一步:确认——是真的被黑了,还是误报?
收到“网站不安全”的提示,先别慌。用几个不同的方式确认:
- 用不同浏览器打开(Chrome、Edge、手机浏览器)
- 用在线工具检测(Google Safe Browsing、VirusTotal)
- 查看网站源码:右键→查看网页源代码,看看有没有不认识的JS链接、iframe
如果多个方式都显示异常,基本可以确定被挂了。
第二步:隔离——别让伤害扩大
发现被黑后,第一时间做的事不是“找木马”,而是“切断”:
- 关停网站:返回503状态码,或者上传一个
maintenance.html临时页面。告诉用户“网站维护中”,别让访客看到恶意内容。 - 备份当前状态:把整个网站打包下载,虽然是被黑的版本,但备份下来用于分析。同时备份数据库。
反常识点:很多人一发现被黑,就急着删文件。别删。先备份。你不知道黑客改了什么,删错了可能把正常文件也删了。先留个备份,再动手。
第三步:找木马——恶意代码藏在哪里
这是最花时间的步骤。木马一般藏在几个地方:
1. 公共模板文件index.php、header.php、footer.php、functions.php。黑客喜欢在这些文件里加一段恶意代码,这样全站都会受影响。
用命令行找最近被改的文件(假设网站目录在/var/www/html):
bash
find /var/www/html -type f -mtime -7 -ls
看看过去7天哪些文件被改过。重点排查这些文件。
2. .htaccess文件/var/www/html/.htaccess 或子目录里的.htaccess。黑客可以在里面加跳转规则,比如“如果是搜索引擎爬虫,就跳转到恶意网站”。
打开.htaccess,看有没有陌生的RewriteRule。
3. 上传目录/uploads/ 或 /wp-content/uploads/。黑客可能上传了一个webshell(一句话木马),文件名伪装成image.jpg.php。
用命令找可疑的PHP文件:
bash
find /var/www/html -name "*.php" -type f -exec grep -l "eval(" {} \;
eval( 是常见的一句话木马特征。
4. 数据库
有些挂马把恶意代码塞进数据库,比如文章的正文或标题里。用SQL查询找<script>标签。
第四步:清理——干掉木马,恢复文件
方法一:手动清理(如果你懂代码)
- 删除恶意文件
- 删除
.htaccess里的恶意规则 - 清理公共文件里的恶意代码
- 修复被篡改的
index.php等
方法二:重装核心文件(推荐)
如果你用的是WordPress、织梦、帝国CMS等程序,最稳妥的办法是:
- 从官网下载一份全新的程序包
- 删除网站目录下的
wp-admin和wp-includes(WordPress为例) - 上传新的程序文件(保留
wp-content里的主题、插件、上传文件) - 重装核心文件
这样能保证核心文件是干净的,又不会丢失数据。
方法三:恢复备份(最省心)
如果你有最近的干净备份(比如一周前的),直接恢复备份,然后升级所有程序、修改密码。这是最快、最安全的方法。
前提:你确定备份是干净的。如果备份也被黑了,那恢复也没用。
第五步:修复漏洞——防止再次被黑
清理完木马,不等于完事了。如果不堵住漏洞,明天还会被黑。
1. 升级所有软件
- WordPress版本、主题、插件全部升级到最新
- 如果不是WordPress,升级你的CMS程序
2. 改密码
- 服务器root密码
- 数据库密码
- 网站后台管理员密码
- FTP/SSH密码
3. 检查后门用户
登录网站后台,看看有没有不认识的管理员账号。有就删掉。
4. 检查定时任务
黑客可能留了定时任务,每天自动下载木马。
bash
crontab -l cat /etc/crontab
看到wget、curl去陌生IP的,删掉。
5. 加固服务器
- 禁用root远程登录(参考之前的安全设置文章)
- 安装fail2ban防暴力破解
- 开启网站防火墙(如宝塔的付费防火墙、Wordfence)
第六步:申请解封(如果被搜索引擎标记)
清理完后,如果你的网站被谷歌或百度标记了“不安全”,要去申请解封。
谷歌:
- 注册Google Search Console
- 验证网站所有权
- 在“安全问题”里查看样本
- 确认清理完毕后,点击“申请审核”
谷歌审核通常需要几天到一周。审核通过后,红色警告会消失。
百度:
百度站长平台里有“安全检测”功能,可以申请重新检测。
一个真实案例
有个朋友的WordPress网站被挂了赌场广告。用户打开网站,页面底部会多出一段看不见的链接。谷歌搜他的品牌词,结果页标题下面跟着红字:“该网站可能已被盗用”。
他慌了,差点重装系统。我帮他排查:先用find命令找到最近7天被改的文件,发现functions.php和footer.php被加了恶意代码。删掉恶意代码,升级所有插件,修改所有密码。然后去Google Search Console申请审核,一周后恢复正常。
他说:“以前觉得备份没用,这次之后,我每周备份一次。”
最后一句
被黑不可怕,可怕的是不知道怎么处理。更可怕的是,处理完了漏洞没堵上,下周又被黑。
今天这篇文章,存下来。万一哪天你的网站出问题,照着步骤走:确认→隔离→找木马→清理→修复漏洞→申请解封。
有条理,就不慌。
另外,现在就去检查你的备份。没有的,今天配一个。




