wpscanteam/wpscan

GitHub: wpscanteam/wpscan

WPScan 是一款专注于 WordPress 的安全扫描工具,能够检测核心、插件、主题等漏洞并提供详细报告。

Stars: 9487 | Forks: 1329

WPScan logo

WPScan

WordPress 安全扫描器

WPScan WordPress 漏洞数据库 - WordPress 安全插件

# 安装 ## 前置条件 - (可选但强烈推荐:[RVM](https://rvm.io/rvm/install)) - Ruby >= 3.0 - 推荐:最新 - Curl >= 7.72 - 推荐:最新 - 7.29 版本存在段错误 - 低于 7.72 可能在某些情况下导致 `Stream error in the HTTP/2 framing layer` - RubyGems - 推荐:最新 - Nokogiri 可能需要通过包管理器安装依赖,取决于你的操作系统,见 https://nokogiri.org/tutorials/installing_nokogiri.html ### 在渗透测试发行版中 使用渗透测试发行版(如 Kali Linux)时,建议通过包管理器(如果可用)安装/更新 wpscan。 ### 在 macOSX 上通过 Homebrew ``` brew install wpscanteam/tap/wpscan ``` ### 从 RubyGems ``` gem install wpscan ``` 在 MacOSX 上,如果由于 Apple 的系统完整性保护(SIP)而抛出 ```Gem::FilePermissionError```,可以安装 RVM 并重新安装 wpscan,或运行 ```sudo gem install -n /usr/local/bin wpscan```(参见 [#1286](https://github.com/wpscanteam/wpscan/issues/1286)) # 更新 你可以使用 ```wpscan --update``` 更新本地数据库。 WPScan 本身的更新可以通过 ```gem update wpscan``` 或包管理器完成(对 Kali Linux 等发行版尤为重要:```apt-get update && apt-get upgrade```),具体取决于 WPScan 的(预)安装方式。 # Docker - Docker 使用 ```docker pull wpscanteam/wpscan``` 拉取镜像。 枚举用户名 ``` docker run -it --rm wpscanteam/wpscan --url https://target.tld/ --enumerate u ``` 枚举一系列用户名 ``` docker run -it --rm wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100 ``` ** 将 u1-100 替换为你选择的范围。 # 使用 完整的用户文档可在此处查阅;https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation ```wpscan --url blog.tld``` 将使用默认选项扫描博客,在速度和准确性之间取得良好平衡。例如,插件将被被动检查,但其版本将使用混合检测模式(被动 + 主动)。潜在的配置备份文件也将被检查,以及其他有趣的发现。 如果需要更隐蔽的方式,可使用 ```wpscan --stealthy --url blog.tld```。 因此,在使用 ```--enumerate``` 选项时,别忘了相应设置 ```--plugins-detection```,因为默认是 'passive'。 想了解更多选项,请打开终端并输入 ```wpscan --help```(如果你是从源码构建 wpscan,则应在 git 仓库外执行该命令) 数据库位于 ~/.wpscan/db ## 可选:WordPress 漏洞数据库 API WPScan CLI 工具使用 [WordPress Vulnerability Database API](https://wpscan.com/api) 实时获取 WordPress 漏洞数据。要让 WPScan 获取漏洞数据,必须通过 `--api-token` 选项或配置文件提供 API 令牌,详情见下文。可通过在 [WPScan.com](https://wpscan.com/register) 注册账户获取 API 令牌。 每天免费提供 **25** 次 API 请求,这足以对大多数 WordPress 网站进行至少一次每日扫描。当每日 25 次 API 请求耗尽时,WPScan 将继续正常工作,但不提供任何漏洞数据。 ### 需要多少 API 请求? - 我们的 WordPress 扫描器会为 WordPress 版本发送一次 API 请求,为每个已安装插件发送一次请求,为每个已安装主题发送一次请求。 - 平均而言,一个 WordPress 网站有 22 个已安装插件。 ## 从文件加载 CLI 选项 WPScan 可以从配置文件加载所有选项(包括 `--url`),检查以下位置(顺序从前到后): - `~/.wpscan/scan.json` - `~/.wpscan/scan.yml` - `pwd/.wpscan/scan.json` - `pwd/.wpscan/scan.yml` 如果这些文件存在,将加载 `cli_options` 键中的选项,并在出现两次时覆盖。 例如: `~/.wpscan/scan.yml`: ``` cli_options: proxy: 'http://127.0.0.1:8080' verbose: true ``` `pwd/.wpscan/scan.yml`: ``` cli_options: proxy: 'socks5://127.0.0.1:9090' url: 'http://target.tld' ``` 在当前目录(pwd)运行 ```wpscan``` 与 ```wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld``` 效果相同。 其他命令行选项可以使用蛇形命名法添加。例如: ``` cli_options: user_agent: "Testing UA" max_threads: 1 headers: "Custom-Header: aaaa; Another Header: bbb" ``` ## 将 API 令牌保存到文件 上述功能可用于将 API 令牌保存在配置文件中,而无需每次通过 CLI 提供。为此,请创建 ~/.wpscan/scan.yml 文件并写入以下内容: ``` cli_options: api_token: 'YOUR_API_TOKEN' ``` ## 从环境变量加载 API 令牌(自 v3.7.10 起) 如果存在环境变量 `WPSCAN_API_TOKEN`,API 令牌将自动从中加载。如果同时提供了 `--api-token` CLI 选项,则使用 CLI 中的值。 ## 枚举用户名 ``` wpscan --url https://target.tld/ --enumerate u ``` 枚举一系列用户名 ``` wpscan --url https://target.tld/ --enumerate u1-100 ``` ** 将 u1-100 替换为你选择的范围。 # 许可证 ## WPScan 公共源许可证 WPScan 软件(以下简称 “WPScan”)采用双重许可 - 版权所有 2011-2019 WPScan 团队。 涉及 WPScan 商业化的情况需要商业非自由许可证。否则,WPScan 可在以下条款下免费使用。 ### 1. 定义 1.1 “许可证” 指本文件。 1.2 “贡献者” 指创建、参与创建或拥有 WPScan 的个人或法律实体。 1.3 “WPScan 团队” 指 WPScan 的核心开发者。 ### 2. 商业化 商业使用是指旨在获取商业优势或金钱报酬的使用。 商业化的示例包括: - 使用 WPScan 提供商业托管/软件即服务(SaaS)服务。 - 将 WPScan 作为商业产品或其一部分进行分发。 - 将 WPScan 用作增值服务/产品。 以下示例不需要商业许可证,因而受以下条款约束(但不限于): - 渗透测试人员(或渗透测试组织)在评估工具包中使用 WPScan。 - 包含但不限于 Kali Linux、SamuraiWTF、BackBox Linux 等渗透测试 Linux 发行版。 - 使用 WPScan 测试自己的系统。 - 任何非商业使用 WPScan。 如果需要购买商业许可证或不确定是否需要购买商业许可证,请联系 - contact@wpscan.com。 免费使用条款与条件; ### 3. 再分发 在满足以下条件的前提下允许再分发: - 与 WPScan 一起提供未修改的许可证。 - 与 WPScan 一起提供未修改的版权声明。 - 不与商业化条款冲突。 ### 4. 复制 只要不与再分发条款冲突,即可复制。 ### 5. 修改 只要不与再分发条款冲突,即可修改。 ### 6. 贡献 任何贡献均视为贡献者授予 WPScan 团队无限制、非独占的权利,以重新使用、修改和重新许可贡献者的内容。 ### 7. 支持 WPScan 在“按原样”基础上提供,不提供任何支持、更新或维护。支持、更新和维护可能由 WPScan 团队自行决定。 ### 8. 免责声明 WPScan 在本许可证下以“按原样”提供,不提供任何形式的明示、暗示或法定担保,包括但不限于 WPScan 无缺陷适销性、特定用途适用性或不侵权的担保。 ### 9. 责任限制 在法律允许的范围内,WPScan 以“按原样”提供。WPScan 团队对因 WPScan 的行为、失效、错误或与终端设备、计算机、其他软件或任何第三方、终端设备、计算机或服务之间的任何交互而产生的任何损害、费用、支出或其他付款概不承担任何责任,且不设上限。 ### 10. 免责声明 在未经双方事先同意的情况下对网站运行 WPScan 在某些国家可能是非法的。WPScan 团队不承担任何责任,也不对 WPScan 造成的任何误用或损害负责。 ### 11. 商标 “wpscan” 为注册商标。本许可证不授予使用 “wpscan” 商标或 WPScan 标志的权利。
标签:AST分析, CMS安全, DNS解析, GitHub项目, Go, JavaScript, Kali Linux, Ruby工具, Semgrep, TypeScript, WAF测试, WordPress安全扫描, 代码扫描, 代码生成, 安全插件, 开源项目, 渗透测试工具, 网络安全, 自动化安全测试, 请求拦截, 隐私保护