深入解析 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。支持的协议包括 httphttps


核心参数详解

以下是 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

    设置插件检测模式(mixedpassiveaggressive),默认 passive

  • --plugins-version-detection MODE

    设置插件版本检测模式(mixedpassiveaggressive),默认 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 站点!

相关推荐
大方子1 小时前
【PolarCTF】rce1
网络安全·polarctf
枷锁—sha3 小时前
Burp Suite 抓包全流程与 Xray 联动自动挖洞指南
网络·安全·网络安全
聚铭网络3 小时前
聚铭网络再度入选2026年度扬州市网络和数据安全服务资源池单位
网络安全
darkb1rd5 小时前
八、PHP SAPI与运行环境差异
开发语言·网络安全·php·webshell
世界尽头与你10 小时前
(修复方案)基础目录枚举漏洞
安全·网络安全·渗透测试
独行soc10 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
枷锁—sha1 天前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
liann1191 天前
3.1_网络——基础
网络·安全·web安全·http·网络安全
独行soc1 天前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
独行soc1 天前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮