WPScan 漏洞扫描工具使用指南
一、WordPress 简介与安全背景
WordPress 作为全球三大建站系统之一,拥有庞大的用户群体,特别是在教育机构和中小企业网站中应用广泛。由于其开源特性及丰富的插件生态,WordPress 成为了安全研究人员和攻击者关注的重点。随着版本迭代,核心代码漏洞不断被修复,但第三方插件和主题的安全问题日益凸显。许多站点因未及时更新插件或使用了存在已知漏洞的扩展而面临风险。因此,针对 WordPress 的专用扫描工具显得尤为重要。
WPScan 漏洞扫描工具的安装配置、API Token 获取、常用命令选项及实战技巧。内容涵盖 WordPress 安全背景、工具原理、枚举策略、暴力破解方法及进阶配置。文章提供了具体的命令行示例,包括用户枚举、插件检测、主题扫描及输出格式设置。同时补充了常见问题排查、WAF 绕过策略及法律合规声明,旨在为安全研究人员提供全面的技术参考。

WordPress 作为全球三大建站系统之一,拥有庞大的用户群体,特别是在教育机构和中小企业网站中应用广泛。由于其开源特性及丰富的插件生态,WordPress 成为了安全研究人员和攻击者关注的重点。随着版本迭代,核心代码漏洞不断被修复,但第三方插件和主题的安全问题日益凸显。许多站点因未及时更新插件或使用了存在已知漏洞的扩展而面临风险。因此,针对 WordPress 的专用扫描工具显得尤为重要。
WPScan 是一款基于 Ruby 编写的开源漏洞扫描器,专为检测 WordPress 站点设计。它内置了庞大的数据库,包含超过 18000 种插件漏洞和 2600 种主题漏洞信息。该工具能够识别 WordPress 核心版本、已安装的插件、主题以及潜在的用户名枚举路径。除了基础扫描,它还支持暴力破解登录表单、检测敏感文件(如 robots.txt)以及分析 API 端点。最新版本持续更新以适配最新的 WordPress 发行版和安全补丁。
在 Kali Linux、BackBox、Pentoo 等渗透测试发行版中,WPScan 通常预装。可通过终端输入 wpscan --help 验证。若提示未找到命令但可下载,按提示确认即可自动安装;若显示帮助文档则说明已就绪。
若系统未预装,可通过 Git 克隆官方仓库进行安装:
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
ruby wpscan.rb --update
确保系统已安装 Ruby 环境。对于生产环境,建议使用 Docker 容器运行以避免依赖冲突。
从 2019 年起,WPScan 强制要求使用 API Token 才能获取详细的漏洞信息。这是为了控制滥用并维护数据库运营。免费账户提供有限的每日请求额度,足以满足日常学习和测试需求。
访问 WPScan 官网注册账号,填写必要信息后提交。登录控制台后可生成免费的 API Token。
在命令行中使用 --api-token 参数传入 Token 字符串。也可将其写入配置文件 ~/.wpscan/config.yml 以便全局调用,避免每次重复输入。
| 选项 | 功能描述 |
|---|---|
--url | 指定目标 WordPress 站点 URL,支持 http/https |
--api-token | 输入 API Token 以获取详细漏洞详情 |
--enumerate | 枚举模式,配合参数使用 (u, p, t, tt) |
--plugins-detection | 插件检测模式 (ap, vp) |
--themes-detection | 主题检测模式 (at, vt) |
--random-user-agent | 随机 User-Agent 头以绕过简单 WAF |
--proxy | 设置代理服务器地址 |
--output | 将结果输出到指定文件 |
--threads | 设置并发线程数,默认 5 |
基础扫描仅基于版本号判断漏洞存在性,可能存在误报。因为即使版本低于漏洞版本,管理员可能已打补丁。建议结合人工验证。
通过 --enumerate u 可尝试获取站点用户名。WordPress 默认允许通过作者 ID 查询用户名,这有助于后续密码爆破。命令示例:
wpscan --url http://target.com --enumerate u --api-token TOKEN
--enumerate p 列出所有已安装插件。--enumerate vp 仅列出存在已知漏洞的插件。--enumerate t 列出所有主题。--enumerate tt 检测 TimeThumbs 相关文件,防止图片上传漏洞。初次接触目标时,建议一次性收集尽可能多的信息:
wpscan --url http://target.com --enumerate vp,vt,tt,u --api-token TOKEN
此命令同时扫描插件漏洞、主题漏洞、缩略图文件和用户名。
WPScan 支持对 WordPress 登录页面进行字典爆破。需准备合适的密码字典(如 SecLists 中的 rockyou.txt)。
wpscan --url http://target.com/wp-login.php --username admin --passwords /path/to/passwords.txt --threads 10
wpscan --url http://target.com/wp-login.php --usernames admin,test --passwords /path/to/passwords.txt
暴力破解会触发防火墙报警,建议降低线程数或使用代理。务必获得授权后再进行测试,否则涉及法律风险。
部分站点启用了 Web 应用防火墙,会拦截 WPScan 特征。可尝试以下手段:
--user-agent "Mozilla/5.0"--proxy http://127.0.0.1:8080--cookie "PHPSESSID=xxx"如果 WordPress 安装在非根目录,需指定 --wp-content DIR 参数,例如 --wp-content /var/www/html/wp-content。
支持多种导出格式,便于报告生成:
-f json -o result.json-f xml -o result.xml-f csv -o result.csv--timeout 参数。--force 参数强制扫描。本工具仅供授权的安全测试和防御研究使用。未经授权对他人网站进行扫描、爆破属于违法行为。使用者应严格遵守当地法律法规,仅在拥有明确书面授权的目标上进行操作。发现漏洞应及时向厂商反馈,而非公开利用。
WPScan 是 WordPress 安全审计的核心工具之一。掌握其安装、配置及高级用法,能有效提升站点安全性评估效率。建议定期更新漏洞库,并结合其他工具(如 Nmap、Burp Suite)进行综合检测。在实际工作中,应注重合规性,确保技术用于正当目的。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online