网站暗链检测工具,CMS挂马查杀实操
知识分享
2026-09-13 19:40
13 阅读
网站被挂暗链或CMS挂马,通常表现为搜索引擎结果出现异常链接、首页被篡改、服务器资源占用飙升。本文面向零基础用户,给出从检测到清除的完整实操步骤,包含命令、文件路径和宝塔面板操作位置。
## 先判断是暗链还是挂马
暗链是攻击者在你网站页面中隐藏的链接,普通访客看不见,但搜索引擎会抓取。挂马则是攻击者上传了恶意脚本文件,可能篡改页面、跳转或窃取数据。两者经常同时出现。
快速判断方法:
- 用搜索引擎搜索 `site:你的域名`,看结果中是否出现赌博、色情等无关标题。
- 打开浏览器开发者工具,查看页面源码底部是否有 `
` 包裹的链接。
- 登录服务器,检查网站根目录最近修改的文件。
**暗链和挂马往往来自同一个入口,比如CMS漏洞、弱口令或过期插件。清除文件后,必须同步修补入口,否则很快会被再次植入。**
## 用工具检测暗链和异常文件
零基础用户可以先从命令行和面板工具入手。
### 1. 查找最近被修改的文件
SSH登录服务器,进入网站根目录,例如 `/www/wwwroot/yourdomain.com`,执行:
```bash
find . -type f -mtime -7 -name "*.php" -o -name "*.js" | head -50
```
这条命令列出最近7天修改过的PHP和JS文件。如果网站近期没有更新,却出现大量修改文件,基本可以确认被入侵。
### 2. 搜索暗链特征
暗链常出现在 `footer.php`、`index.php`、`header.php` 或JS文件中。用grep搜索常见隐藏样式:
```bash
grep -rn "display:none\|visibility:hidden\|position:absolute;left:-9999" --include="*.php" --include="*.js" .
```
如果输出结果中包含不认识的域名,就是暗链代码。
### 3. 使用宝塔面板文件检测
如果使用宝塔面板,进入 `文件` → 网站根目录 → 右上角 `搜索`,输入 `eval(`、`base64_decode`、`assert(` 等常见木马函数。宝塔的 `网站` → `站点修改` → `网站目录` 中也可以查看最近修改时间排序。
**检测阶段的核心不是删除所有可疑文件,而是先定位入口和受影响范围,避免误删正常文件导致网站无法访问。**
## CMS挂马查杀实操步骤
不同CMS结构不同,但通用流程一致。
### 1. 备份网站和数据库
在宝塔面板 `网站` → `备份` 中,点击 `备份网站` 和 `备份数据库`。如果手动操作,执行:
```bash
tar -czf /root/website_backup.tar.gz /www/wwwroot/yourdomain.com
mysqldump -u root -p database_name > /root/db_backup.sql
```
备份是后续误删恢复的底线。
### 2. 对比官方文件,找出被篡改文件
以WordPress为例,下载同版本官方包,解压后对比核心目录:
```bash
diff -r /www/wwwroot/yourdomain.com/wp-includes /tmp/wordpress/wp-includes
```
输出中标记为 `Only in` 或 `differ` 的文件重点检查。非核心目录如 `wp-content/uploads` 也可能藏有PHP木马,需手动检查是否有 `.php` 文件混入图片目录。
### 3. 清除恶意代码
确认恶意文件后,直接删除。如果是被篡改的正常文件,用官方文件覆盖。例如:
```bash
cp /tmp/wordpress/wp-includes/functions.php /www/wwwroot/yourdomain.com/wp-includes/functions.php
```
对于暗链代码,用编辑器打开文件,删除隐藏的 `