如何找出存在已知漏洞的过时 WordPress 插件
简短回答:列出每个插件的已安装版本和最新版本(仪表盘 → 更新,或 wp plugin list --update=available),在 Wordfence Intelligence、WPScan 或 Patchstack 等公开漏洞数据库中逐一查询,更新或删除存在漏洞的插件,并删除已关闭或不再维护的插件。
快速步骤
- 列出插件及版本. 使用仪表盘 → 更新或 WP-CLI 查看已安装版本和可用版本。
- 查询已知漏洞. 在公开的 WordPress 漏洞数据库中搜索每个插件。
- 更新或删除. 更新有漏洞的插件;删除没有修复版本或你不使用的插件。
- 找出被弃用的插件. 在 WordPress.org 上查看每个插件的页面,看是否有关闭通知以及最后更新时间。
- 开启自动更新. 为你信任的插件开启自动更新,并保留备份。
代码和配置保持英文。
1. 列出插件及版本
在后台,仪表盘 → 更新会列出所有有可用更新的项目。如果有 shell 访问权限,WP-CLI 更快:
wp plugin list --fields=name,status,version,update_version
wp plugin list --update=available
wp theme list --update=available
wp core check-update2. 查询已知漏洞
在公开数据库中搜索每个插件的 slug。每条记录都会列出受影响的版本以及修复该问题的版本:
3. 更新,或删除
- 先备份,再更新。之后测试结账、表单和登录。
- 如果没有修复版本,请停用并删除该插件,另找替代品。
- 停用的插件仍以文件形式留在服务器上。删除你不使用的插件。
wp plugin update --all --dry-run
wp plugin update contact-form-7
wp plugin delete hello-dolly4. 找出已关闭或被弃用的插件
打开每个插件在 WordPress.org 上的页面。已关闭的插件会显示通知,并且不再获得修复。多年未更新、或未在较新 WordPress 版本上测试过的插件,即使没有公开漏洞也存在风险。
5. 检查文件是否被修改
wp core verify-checksums
wp plugin verify-checksums --all核心文件或插件文件被修改,可能说明网站已经被入侵。参见如何判断 WordPress 网站是否被黑。
6. 开启自动更新
从 WordPress 5.5 开始,你可以在“插件”页面为每个插件单独开启自动更新。为维护良好的插件开启它,并保留每日备份,以便需要时回滚。
远程扫描能看到什么
HackGrade 的免费扫描会找出你的公开页面所暴露的插件、主题和核心版本(例如通过文件路径和版本字符串),并与公开漏洞数据进行比对。在公开页面上不留痕迹的插件无法从外部看到,因此上面的 WP-CLI 列表才是完整的。
常见问题
一次更新所有插件安全吗?
通常没问题,但请先备份,之后测试关键页面。如果是访问量大的网店,请一次只更新一个插件。
停用有漏洞的插件能保护我吗?
只能部分保护。有些有漏洞的文件仍然可以被直接访问。请删除你不使用的插件。
如何知道某个漏洞是否正在被利用?
Wordfence Intelligence 和 Patchstack 等数据库会标注正在被利用的情况,CISA 也会在其 KEV 目录中列出已被利用的 CVE。请把这些当作紧急事项处理。