深入解析 WPScan:用法与参数详解

深入解析 WPScan:用法与参数详解

WPScan 是一款由 WPScan Team 开发的开源工具,专为扫描 WordPress 网站的安全性而设计。它能够帮助安全研究人员、渗透测试人员以及网站管理员发现 WordPress 站点中的漏洞、配置问题及其他潜在风险。本文将基于 wpscan --help 的输出,详细介绍 WPScan 的用法和常用参数,旨在帮助用户全面掌握这款工具的功能。


什么是 WPScan?

WPScan 是一个命令行工具,最初由 Ryan Dewhurst(@ethicalhack3r)创建,现由 Automattic 赞助。它通过扫描目标 WordPress 站点,检测核心版本、插件、主题的漏洞,并支持用户枚举和密码爆破等功能。当前版本(基于帮助信息)为 3.8.28,支持丰富的选项和灵活的配置。

运行 WPScan 时,会显示如下标志:

复制代码
         __          _______   _____
         \ \        / /  __ \ / ____|
          \ \  /\  / /| |__) | (___   ___  __ _ _ __ ®
           \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
            \  /\  /  | |     ____) | (__| (_| | | | |
             \/  \/   |_|    |_____/ \___|\__,_|_| |_|

         WordPress Security Scanner by the WPScan Team
                         Version 3.8.28
       Sponsored by Automattic - https://automattic.com/
       @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart

基本用法

WPScan 的基本用法格式为:

复制代码
wpscan [options]

其中,--url 是大多数扫描任务的必填选项,用于指定目标 WordPress 站点的 URL。例如:

bash 复制代码
wpscan --url http://example.com

如果未提供协议,默认使用 http。支持的协议包括 http 和 https。


核心参数详解

以下是 wpscan --help 中列出的主要参数及其功能的详细说明:

1. 基本选项

  • -h, --help

    显示简要帮助信息并退出,适合快速查看基本用法。

  • --hh

    显示完整帮助信息,包含更多高级选项(--help 未完全列出所有内容)。

  • --version

    显示当前 WPScan 版本(例如 3.8.28)并退出。

  • --url URL

    指定目标 WordPress 站点的 URL。这是运行扫描的核心参数,除非使用 --update、-h、 --hh 或 --version,否则必须提供。

    示例:--url https://example.com

  • -v, --verbose

    启用详细模式,输出更多扫描过程中的信息,便于调试或深入分析。

  • --[no-]banner

    是否显示 WPScan 的启动标志。默认值为 true(显示)。使用 --no-banner 可禁用。

2. 输出控制

  • -o, --output FILE

    将扫描结果保存到指定文件。例如:-o scan_result.txt。

  • -f, --format FORMAT

    指定输出格式。可选值包括:

    • cli-no-colour / cli-no-color:无颜色终端输出。
    • cli:默认带颜色的终端输出。
    • json:JSON 格式,便于程序化处理。
      示例:-f json -o result.json

3. 扫描模式

  • --detection-mode MODE

    设置检测模式,影响插件和主题的探测方式。可选值:

    • mixed(默认):混合模式,结合被动和主动检测。
    • passive:仅使用被动方法(例如分析页面源码),减少被检测风险。
    • aggressive:主动发送请求以确认漏洞,可能更准确但更容易触发防护。
      示例:--detection-mode aggressive
  • --force

    强制扫描,即使目标未运行 WordPress 或返回 403 状态码。通常用于不确定目标是否为 WordPress 的情况。

4. 网络与请求配置

  • --user-agent, --ua VALUE

    指定自定义 User-Agent。例如:--ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"。

  • --random-user-agent, --rua

    为每次请求随机生成 User-Agent,降低被防火墙识别的风险。

  • -t, --max-threads VALUE

    设置最大线程数,控制并发请求数量。默认值为 5。

    示例:-t 20(提高扫描速度,但可能增加服务器负载)。

  • --throttle MilliSeconds

    设置请求之间的延迟(毫秒)。启用时,线程数强制为 1。

    示例:--throttle 500(每 0.5 秒发送一个请求)。

  • --request-timeout SECONDS

    设置请求超时时间,默认 60 秒。

    示例:--request-timeout 30。

  • --connect-timeout SECONDS

    设置连接超时时间,默认 30 秒。

  • --disable-tls-checks

    禁用 SSL/TLS 证书验证,并强制使用 TLS 1.0+(需要 cURL 7.66+)。适用于目标站点证书无效的情况。

  • --proxy protocol://IP:port

    通过代理发送请求,支持的协议取决于 cURL 配置。例如:--proxy http://127.0.0.1:8080。

  • --proxy-auth login:password

    指定代理认证凭据。例如:--proxy-auth user:pass。

  • --cookie-string COOKIE

    设置请求中的 Cookie,例如:--cookie-string "session=abc123; user=admin"。

  • --cookie-jar FILE-PATH

    指定用于读写 Cookie 的文件,默认路径为 /tmp/wpscan/cookie_jar.txt。

5. 枚举功能

  • -e, --enumerate [OPTS]

    执行枚举任务,探测目标站点的组件和信息。可选值包括:

    • vp:仅枚举存在漏洞的插件。
    • ap:枚举所有插件。
    • p:枚举热门插件。
    • vt:仅枚举存在漏洞的主题。
    • at:枚举所有主题。
    • t:枚举热门主题。
    • tt:枚举 Timthumb 文件。
    • cb:枚举配置文件备份。
    • dbe:枚举数据库导出文件。
    • u:枚举用户 ID(默认范围 1-10,例如 u1-5)。
    • m:枚举媒体 ID(默认范围 1-100,需要"朴素"链接设置)。
      多选项用逗号分隔,例如:-e vp,vt,cb。
      默认值:vp,vt,tt,cb,dbe,u,m。
  • --exclude-content-based REGEXP_OR_STRING

    排除匹配指定正则表达式或字符串的响应(不区分大小写),适用于过滤无关内容。

  • --plugins-detection MODE

    设置插件检测模式(mixed、passive、aggressive),默认 passive。

  • --plugins-version-detection MODE

    设置插件版本检测模式(mixed、passive、aggressive),默认 mixed。

  • --exclude-usernames REGEXP_OR_STRING

    排除匹配的用户名,减少枚举干扰。

6. 密码攻击

  • -P, --passwords FILE-PATH

    指定密码列表文件,用于密码爆破。例如:-P /usr/share/wordlists/rockyou.txt。

  • -U, --usernames LIST

    指定用户名列表,支持逗号分隔或文件路径。例如:-U admin,user1,user2 或 -U /tmp/users.txt。

  • --password-attack ATTACK

    强制使用指定的攻击模式,可选值:

    • wp-login:通过登录页面爆破。
    • xmlrpc:通过 XML-RPC 接口爆破。
    • xmlrpc-multicall:通过 XML-RPC 多重调用爆破(仅适用于 WordPress < 4.4)。
      示例:--password-attack wp-login。
  • --multicall-max-passwords MAX_PWD

    设置 XMLRPC 多重调用每次请求的最大密码数,默认 500。

  • --login-uri URI

    指定自定义登录页面 URI,默认 /wp-login.php。例如:--login-uri /custom-login。

7. 其他高级选项

  • --wp-content-dir DIR

    指定自定义 wp-content 目录路径,例如 --wp-content-dir content。

  • --wp-plugins-dir DIR

    指定自定义插件目录路径,例如 --wp-plugins-dir content/plugins。

  • --api-token TOKEN

    使用 WPScan API 令牌显示漏洞数据,需在 https://wpscan.com/profile 获取。

  • --[no-]update

    是否更新本地数据库,默认 false。运行 --update 更新漏洞数据。

  • --stealthy

    隐秘模式别名,等同于 --random-user-agent --detection-mode passive --plugins-version-detection passive,降低被检测风险。


实用示例

示例 1:基本扫描

扫描目标站点并检测漏洞:

bash 复制代码
wpscan --url http://example.com --api-token YOUR_TOKEN

示例 2:枚举插件和主题

枚举所有插件和主题:

bash 复制代码
wpscan --url http://example.com -e ap,at

示例 3:密码爆破

对指定用户名进行密码爆破:

bash 复制代码
wpscan --url http://example.com -U admin -P /usr/share/wordlists/rockyou.txt --password-attack wp-login -t 20

示例 4:隐秘扫描

使用随机 User-Agent 和被动模式:

bash 复制代码
wpscan --url http://example.com --stealthy

注意事项

  1. 合法性:WPScan 应仅用于授权测试,未经许可扫描他人网站可能违法。
  2. 防护规避 :高线程数或频繁请求可能触发 WAF,使用 --throttle 或代理降低风险。
  3. API 令牌:免费用户有每日查询限制,需注册获取令牌以查看漏洞详情。

总结

WPScan 是一个功能强大且灵活的 WordPress 安全扫描工具,通过其丰富的参数,用户可以实现从基本信息收集到深度漏洞探测的多种任务。无论是枚举组件、检测漏洞还是执行密码攻击,合理配置参数都能显著提升效率和准确性。希望本文的详细解析能帮助你更好地掌握 WPScan 的用法,安全地探索和保护 WordPress 站点!

相关推荐
m0_547486662 小时前
《信息安全基础》全套PPT课件2026
网络安全·信息安全
m0_715674433 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
大数据·网络·人工智能·网络安全
白帽攻防录12 小时前
SRC 挖洞:Apache APISIX 非规范路径授权绕过深度复盘,CVE-2026-94269 怎么绕过网关访问后端
网络安全·apache·src漏洞挖掘
学逆向的21 小时前
win32注入代码
开发语言·网络安全·api·win32
Web Security Loop1 天前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试
墨云安全1 天前
红队评估和渗透测试的区别是什么?2026 年从目标、方法到交付物的对比
网络·安全·web安全·网络安全·渗透测试
刘婉晴1 天前
【APP安全测试】Frida 基础
网络安全
科技象限1 天前
数据防泄密系统怎么选?看它怎么把几道防线叠成网
运维·安全·网络安全·安企神
sbjdhjd1 天前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
sbjdhjd2 天前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全