Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
OpenDoor — OWASP Web 侦察与目录发现平台 | Kitploit
工具/GitHubGitHub/stanislav-web/opendoor
侦察漏洞扫描器Web漏洞扫描器信息收集Web安全渗透测试子域名枚举
GitHubstanislav-web/opendoor

OpenDoor

OWASP Web 侦察与目录发现平台

查看仓库
9961883915天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站
# OpenDoor — OWASP Web 侦察与目录发现平台

![OpenDoor](https://raw.githubusercontent.com/stanislav-web/OpenDoor/master/logo.png)

**OpenDoor** 是一个开源 CLI 侦察平台,用于授权的 Web 侦察、目录发现、子域名枚举、指纹识别、WAF 检测、绕过探测、响应过滤、报告生成、开放重定向检查、有界爬取以及基于传输层的扫描工作流。

它帮助安全研究人员、渗透测试人员、漏洞赏金猎人、DevSecOps 工程师和开发人员识别暴露的路径、登录面板、目录列表、受限资源、备份文件、Web Shell、子域名以及其他可能敏感的 Web 资产。

> 仅在您拥有或获得明确测试授权的系统上使用 OpenDoor。
---

## ✅ 项目状态

[![PyPI version](https://img.shields.io/pypi/v/opendoor)](https://pypi.org/project/opendoor/)
[![Homebrew](https://img.shields.io/homebrew/v/opendoor?label=homebrew)](https://formulae.brew.sh/formula/opendoor)
![Chocolatey Version](https://img.shields.io/chocolatey/v/opendoor)
[![Python 3.12–3.15](https://img.shields.io/badge/python-3.12%E2%80%933.15-green.svg)](https://www.python.org/)
[![Docker Image](https://github.com/stanislav-web/OpenDoor/actions/workflows/docker-image.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/docker-image.yml)

[![Coverage](https://codecov.io/github/stanislav-web/OpenDoor/graph/badge.svg?token=dyBxutYBso)](https://codecov.io/github/stanislav-web/OpenDoor)
[![CodeQL](https://github.com/stanislav-web/OpenDoor/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/stanislav-web/OpenDoor/actions/workflows/github-code-scanning/codeql)
[![Codacy Security Scan](https://github.com/stanislav-web/OpenDoor/actions/workflows/codacy.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/codacy.yml)
[![Documentation Status](https://app.readthedocs.org/projects/opendoor/badge/?version=latest)](https://opendoor.readthedocs.io/)

## 🧪 CI 矩阵

| 平台 | Python 3.12 | Python 3.13 | Python 3.14 | Python 3.15 |
|---|---|---|---|---|
| Linux | [![Linux 3.12](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py312.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py312.yml) | [![Linux 3.13](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py313.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py313.yml) | [![Linux 3.14](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py314.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py314.yml) | [![Linux 3.15](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py315.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py315.yml) |
| macOS | [![macOS 3.12](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py312.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py312.yml) | [![macOS 3.13](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py313.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py313.yml) | [![macOS 3.14](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py314.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py314.yml) | [![macOS 3.15](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py315.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py315.yml) |
| Windows | [![Windows 3.12](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py312.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py312.yml) | [![Windows 3.13](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py313.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py313.yml) | [![Windows 3.14](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py314.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py314.yml) | [![Windows 3.15](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py315.yml/badge.svg?branch=master)](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py315.yml) |

---

## 🚀 快速链接

- [文档](https://opendoor.readthedocs.io/)
- [快速开始](https://opendoor.readthedocs.io/quickstart/)
- [安装与更新](https://opendoor.readthedocs.io/Installation-and-update/)
- [使用指南](https://opendoor.readthedocs.io/Usage/)
- [实用示例](https://opendoor.readthedocs.io/examples/basic-scans/)
- [更新日志](https://github.com/stanislav-web/opendoor/blob/master/CHANGELOG.md)
- [PyPI 包](https://pypi.org/project/opendoor/)
- [Homebrew 配方](https://formulae.brew.sh/formula/opendoor)
- [Docker 镜像](https://github.com/users/stanislav-web/packages/container/package/opendoor)
- [AUR 包](https://aur.archlinux.org/packages/opendoor)
- [BlackArch 包](https://blackarch.org/webapp.html)
- [问题反馈](https://github.com/stanislav-web/OpenDoor/issues)
- [贡献者](https://github.com/stanislav-web/OpenDoor/graphs/contributors)

---

## ✨ 功能特性

- 目录发现;
- 递归目录发现;
- 有界同源爬取;
- 跟随重定向;
- 子域名枚举;
- 多线程扫描以加快查找速度;
- 支持单目标、目标文件、stdin、IPv4 CIDR 和 IPv4 范围输入模式;
- 自定义字典、前缀、打乱顺序以打破扫描模式,扩展名过滤,支持远程字典;
- 自定义请求头、Cookie 转发以及原始 HTTP 请求模板;
- 按状态码、大小、文本、正则表达式和响应体长度进行响应过滤;
- 响应嗅探器,用于检测目录列表、空响应、已知文件暴露、活动影子副本探测、排序规则、可能暴露的机密、客户端暴露的端点、错误、暴露的调试堆栈跟踪以及已验证的开放重定向漏洞;
- 针对软 404、通配符、全捕获、语义响应差异和 DNS 通配符情况的智能自动校准;
- 针对 CMS、电商平台、框架、运行时栈、基础设施和 HSTS 态势的技术指纹检测;
- `--fingerprint` 中的被动隐私风险检查,包括可能的 HSTS、ETag/缓存和超级 Cookie 暴露面。
- 安全扫描模式下的被动 WAF 检测与绕过;
- WAF 防护停止条件,当初始分类响应绝大多数被 WAF 拦截时结束低价值扫描;
- 针对被拦截的 `401` 和 `403` 资源的受控请求头和路径绕过探测;
- 容错扫描运行时,支持重试、连续失败保护、传输故障处理、可恢复会话以及运行时暂停/恢复控制;
- CI/CD 失败退出结果分桶规则;
- 针对先前/当前 JSON 或 SQLite 报告的差异报告比较;
- 支持终端、文本、JSON、CSV、HTML、SARIF 和 SQLite 格式的报告;
- 代理、OpenVPN、WireGuard、旧版 TLS 和 mTLS 客户端证书传输支持;
- 针对批量工作流的按目标顺序传输轮换;
- 用于可重复扫描配置文件的配置向导;
- 内置字典(更新于 2026-08)

---

## 🧭 OpenDoor 在哪些场景下有意义?

它专为那些仅靠速度不够的真实目标而设计:WAF、CDN、软 404 页面、通配符路由、受限资源、认证区域、不稳定网络、多目标批量任务以及传输受控的扫描。
从 2016 年首次发布至今,OpenDoor 发生了巨大变化,从一个原始的暴力破解器成长为一个全新的自适应发现框架。变得对 DevOps 和 QA 友好。
OpenDoor 专注于**上下文感知发现**,而非盲目枚举。

### OpenDoor 的与众不同之处

| 能力 | 为何重要 |
|---|---|
| **指纹优先扫描** | OpenDoor 可以在深入发现之前识别可能的 CMS 平台、框架、基础设施提供商和 WAF 信号。这有助于您带着上下文进行扫描,而不是盲目地向目标投掷通用字典。 |
| **WAF 感知行为** | OpenDoor 可以检测可能的 WAF / 反机器人行为,并通过 `--waf-safe-mode` 切换到更安全的运行时配置文件,减少嘈杂的被拦截扫描,并使防御性响应更易于理解。 |
| **WAF 防护停止条件** | 当初始分类响应绝大多数被 WAF 拦截时,OpenDoor 可以提前停止扫描。这避免了在只会产生重复边缘/WAF 拦截页面的字典上耗费长时间运行。 |
| **受控绕过证据** | OpenDoor 可以选择性地使用受控的请求头注入和路径操纵变体来探测被拦截的 `401` 和 `403` 资源。它记录精确证据,例如绕过类型、请求头或路径变体、探测值、原始状态码和结果状态码,而不会改变全局扫描请求头。 |
| **多信号自动校准** | OpenDoor 不仅仅依赖状态码或响应大小。它比较多种响应信号,例如响应体哈希、可见文本、语义软 404 短语、DOM 令牌结构、标题、重定向、稳定请求头、单词数、行数、文本密度、规范化动态令牌和 DNS 通配符基线,以减少软 404 和通配符误报。 |
| **有界同源爬取** | `--crawl` 可以通过已扫描 HTML 响应中发现的一跳同源链接来丰富目录扫描。它使用现有的扫描管道、全局请求去重、按分桶报告去重和有界内存上限,而不是变成蜘蛛或浏览器渲染器。 |
| **启发式嗅探器插件系统** | OpenDoor 包含一个可插拔的响应分析层,用于启发式嗅探器,例如机密、堆栈跟踪、目录列表、恶意软件指标、影子副本、可疑文件、开放重定向和重复的软错误模板。这使扫描能够从响应体中呈现有意义的证据,而不是仅报告状态码和大小。 |
| **传输层工作流** | OpenDoor 支持直连、代理、OpenVPN 和 WireGuard 传输模式。它还可以在授权的批量扫描中按目标轮换传输配置文件,这与在运行扫描器之前手动启动 VPN 不同。 |
| **代理池支持** | OpenDoor 可以通过 `--proxy-list` 使用代理池,在扫描前验证可用代理,在活动池中轮换请求。这有助于长时间授权扫描在不可靠路由下存活,而无需硬编码单个代理端点。 |
| **容错扫描运行时** | OpenDoor 旨在让扫描在不稳定目标和不可靠网络上保持有用。它结合了请求重试、连续失败保护、可恢复传输错误处理、代理轮换、WAF 感知停止条件、检查点会话和交互式暂停/恢复控制,使长时间扫描可以安全失败,而不是静默丢失覆盖范围。 |
| **可恢复的长时间扫描** | OpenDoor 可以保存扫描检查点并在稍后恢复。当扫描因崩溃、不稳定网络、被拦截路由、终端断开或长时间多目标任务而中断时,这一点很重要。 |
| **运行时暂停/恢复** | 在扫描期间按一次 `Ctrl+C` 暂停工作线程,然后选择 `C` 继续或 `E` 中止,无需涉及会话文件。 |
| **差异报告比较** | OpenDoor 可以使用 `--diff old:new` 比较先前和当前的 SQLite/JSON 报告,显示新增、移除和变更的发现,而无需重新扫描目标。这将扫描报告转变为逐版本暴露回归检查。 |
| **CI/CD 就绪结果** | OpenDoor 可以仅在发现选定的结果分桶时返回失败退出码,使其可用作发布门禁或暴露回归检查,而无需自定义后处理脚本。 |
| **可审计的工程实践** | OpenDoor 通过多平台 CI、覆盖率检查、包检查、文档构建和大型单元测试套件进行维护,使其更易于审计、贡献和依赖。 |

## 🧬 可识别的技术

OpenDoor 包含一个启发式指纹引擎,用于检测可能的应用程序栈、CMS 平台、框架、网站构建器、静态站点工具、基础设施提供商、HSTS / 预加载就绪状态以及 WAF / 反机器人系统。

| 类别                   | 示例 |
|----------------------------|---|
| CMS                        | WordPress, Drupal, Joomla, TYPO3, GravCMS, Open Journal Systems, InstantCMS, DiafanCMS, CMS.S3 / Megagroup, Discuz!, NetCat |
| 电子商务                 | Magento, WooCommerce, Shopify, PrestaShop, OpenCart, Shopware, Webasyst / Shop-Script |
| 框架 / 应用平台 | Laravel, Symfony, Django, Flask, FastAPI, Express, NestJS, Next.js, Nuxt, Rails, Spring |
| 运行时 / 语言栈   | PHP, Node.js, JavaScript, Python, Ruby, .NET, Java/JVM, Elixir, 静态站点目标 |
| 网站构建器              | Wix, Webflow, Squarespace, Tilda, Duda, Hostinger Website Builder |
| 静态 / 文档生成器   | MkDocs, Docusaurus, Hugo, Jekyll, VitePress |
| 基础设施 / 托管   | Cloudflare, AWS, Vercel, Netlify, GitHub Pages, GitLab Pages, Heroku, Azure, Google Cloud, Fastly, Akamai, Hostinger, DDoS-Guard, Tencent Cloud |
| 基础设施 / 服务器   | Nginx, Apache HTTP Server, Microsoft IIS, Caddy, LiteSpeed, lighttpd, Tornado, Gunicorn, Uvicorn, Hypercorn, Waitress, Apache Tomcat, Eclipse Jetty, Envoy, Traefik |
| WAF / 反机器人             | Cloudflare, AWS WAF, Azure Front Door, Akamai, Imperva, Sucuri, ModSecurity, DataDome, Kasada, BunkerWeb, F5 BIG-IP ASM |
| 安全请求头           | HSTS 存在性、max-age、includeSubDomains、preload 指令、本地预加载就绪状态 |

支持技术的完整列表:
[指纹识别技术](https://opendoor.readthedocs.io/detection/fingerprinting)

运行指纹检测:

```bash
opendoor --host https://example.com --fingerprint
```

指纹识别阶段完成后,OpenDoor 会在字典枚举开始前打印一份简洁的预扫描摘要:

```text
Fingerprint result: cms/WordPress (95%)
Web stack: WordPress | PHP | Cloudflare
Security posture: HSTS preload-ready
```

延伸阅读:

- [指纹识别指南](https://opendoor.readthedocs.io/detection/fingerprinting/)
- [WAF 检测指南](https://opendoor.readthedocs.io/detection/waf-detection/)

## 📦 安装

### pipx

推荐大多数 CLI 用户使用:

```bash
pipx install opendoor
```

### pip

```bash
python3 -m pip install --upgrade opendoor
```

### Windows / Chocolatey

OpenDoor 可从 Chocolatey 社区软件包仓库获取:

```powershell
choco install opendoor -y
```

Chocolatey 软件包在社区审核完成之前可能会滞后于最新的 GitHub/PyPI 发布版本。

### Arch Linux / AUR

OpenDoor 已在 Arch 用户仓库中提供:

```bash
yay -S opendoor
```

### Homebrew

OpenDoor 也可通过 Brew 包管理器获取:

```bash
brew install opendoor
```

### Docker

OpenDoor 可通过 GitHub Container Registry 获取官方项目 Docker 镜像。

```bash
docker pull ghcr.io/stanislav-web/opendoor:latest
docker run --rm -it ghcr.io/stanislav-web/opendoor:latest --version
```

运行扫描并将报告写入主机:

```bash
mkdir -p reports

docker run --rm \
  -v "$PWD/reports:/work/reports" \
  ghcr.io/stanislav-web/opendoor:latest \
  --host https://example.com \
  --reports json,html \
  --reports-dir reports
```

### BlackArch Linux

OpenDoor 可在 BlackArch Linux 中获取:

```bash
sudo pacman -Syu
sudo pacman -S opendoor
```

### 从源码

```bash
git clone https://github.com/stanislav-web/OpenDoor.git
cd OpenDoor

python3 -m pip install -r requirements.txt
python3 opendoor.py --help
```

请参阅完整的[安装指南](https://opendoor.readthedocs.io/Installation-and-update/)。

---

## 🚀 快速使用

### 基本目录扫描

```bash
opendoor --host https://example.com
```

### 爬取同源链接

```bash
opendoor --host https://example.com --crawl
```

`--crawl` 是选择性启用的,且仅适用于目录扫描。它使用 `GET`,从已扫描的响应中提取保守的 HTML 属性,仅保留同源 URL,遵循忽略的扩展名,跳过 POST 表单和外部源,并通过正常的结果分桶报告发现的 URL。

### 子域名扫描

```bash
opendoor --host example.com --scan subdomains
```

### 目标列表

```bash
opendoor --hostlist targets.txt
```

目标文件可以混合包含 URL、域名、IPv4 地址、IPv4 CIDR 块以及包含端点的 IPv4 范围:

```text
https://example.com
app.example.com
192.168.1.10
192.168.1.0/24
192.168.1.10-192.168.1.50
```

### 标准输入

```bash
cat targets.txt | opendoor --stdin
```

通过 STDIN 也支持相同的混合目标格式。

### 低噪声扫描

```bash
opendoor \
  --host https://example.com \
  --method GET \
  --auto-calibrate \
  --include-status 200-299,301,302,403 \
  --exclude-status 404,429,500-599 \
  --exclude-size-range 0-256 \
  --sniff endpoint,secret,shadow,openredirect,malware,skipempty,collation,indexof,file,stacktrace \
  --reports std,json,csv,sarif
```

### 响应嗅探器

响应嗅探器在发现过程中对感兴趣的响应体进行分类。当状态码和大小不足以理解所发现的内容时,它们非常有用。

```bash
opendoor \
  --host https://example.com \
  --method GET \
  --sniff endpoint,secret,shadow,openredirect,malware,stacktrace,indexof,file,collation \
  --reports std,json,csv,html,sqlite,sarif
```

有用的嗅探器包括:

| 嗅探器             | 用途                                                                                                                             |
|---------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| `indexof`           | 检测目录列表页面。                                                                                                     |
| `file`              | 检测已知的敏感文件暴露模式。                                                                                      |
| `collation`         | 检测重复或类似重定向的回退响应,这些响应可能导致误报。                                               |
| `skipempty`         | 跳过空响应。                                                                                                               |
| `skipsizes=46`      | 跳过具有已知噪声大小的精确响应。                                                                                        |
| `skipsizes=46:1024` | 跳过噪声大小范围内的响应。                                                                                           |
| `stacktrace`        | 检测暴露的调试/运行时堆栈跟踪和内部错误详情。                                                               |
| `secret`            | 检测可能暴露的 API 密钥、令牌、私钥和凭据,并带有脱敏的报告元数据。                               |
| `shadow`            | 主动探测已确认的 `200 OK` 类文件命中,以查找有界的备份/影子变体,如 `.bak`、`.old` 和路径模板。 |
| `openredirect`      | 使用受控标记 URL 主动验证类重定向查询参数,并仅报告已确认的开放重定向漏洞。 |
| `endpoint`          | 从已获取的响应中被动检测客户端暴露的 WebSocket、Socket.IO、SSE/EventSource 和 AJAX 端点。                       |
| `malware`           | 检测可能的恶意内容、webshell 标记、注入脚本或混淆载荷。                                       |

当配置的方法为 `HEAD` 时,依赖正文的嗅探器会在内部自动强制使用 `GET`。

阅读更多:[嗅探器参考](https://opendoor.readthedocs.io/Sniffers/)

### 从原始请求进行认证扫描

```bash
opendoor \
  --raw-request request.txt \
  --scheme https \
  --method GET \
  --auto-calibrate \
  --reports json,html,sqlite,sarif
```

### WAF 安全扫描

```bash
opendoor \
  --host https://example.com \
  --waf-safe-mode \
  --timeout 60 \
  --retries 5 \
  --delay 0.5
```

### 容错扫描

对于不稳定目标、慢速网络、临时 WAF 拦截、代理不稳定或长时间运行的授权扫描,请使用更保守的运行时配置。

```bash
opendoor \
  --host https://example.com \
  --method GET \
  --timeout 60 \
  --retries 5 \
  --retries-fail-streak 25 \
  --auto-calibrate \
  --waf-detect \
  --waf-guard \
  --session-save session.json \
  --reports std,json,html
```

此配置文件通过增加每请求超时和重试容忍度、将中止限制在反复耗尽的路径、使用自动校准过滤软 404 和全捕获响应、在 WAF 拦截响应占主导时停止低价值扫描,以及保存检查点状态以便稍后恢复,使扫描更具弹性。

稍后恢复扫描:

```bash
opendoor --session-load session.json
```

在主动扫描期间,按一次 `Ctrl+C` 暂停工作进程,然后选择 `C` 继续或 `E` 中止。

### 头部与路径绕过探测

仅在您获得授权测试的系统上使用此功能。该功能为选择性启用,会使用受控的临时头部和安全路径变体来探测被阻止的资源。

```bash
opendoor \
  --host https://example.com \
  --method GET \
  --waf-detect \
  --header-bypass \
  --header-bypass-limit 32 \
  --reports std,json,csv,sarif,sqlite
```
当启用 --header-bypass 时,OpenDoor 首先尝试配置的头部注入变体,然后尝试安全的路径操纵变体,例如尾部斜杠、点段、分号后缀、大小写变体和 URL 编码段。
自定义触发状态、受信任 IP 值和头部:

```bash
opendoor \
  --host https://example.com \
  --method GET \
  --header-bypass \
  --header-bypass-status 401,403 \
  --header-bypass-ips 127.0.0.1,10.0.0.1 \
  --header-bypass-headers X-Original-URL,X-Rewrite-URL,X-Forwarded-For,X-Real-IP \
  --reports json,html,sqlite,sarif,csv
```

### 代理路由

使用单个显式代理:

```bash
opendoor --host https://example.com --proxy socks5://127.0.0.1:9050
```

使用内置的轮换代理池:

```bash
opendoor --host https://example.com --proxy-pool
```

使用自定义轮换代理列表:

```bash
opendoor --host https://example.com --proxy-list proxies.txt
```

### OpenVPN 传输

```bash
opendoor \
  --host https://example.com \
  --transport openvpn \
  --transport-profile ./profile.ovpn
```

如果 OpenVPN 安装在 `PATH` 之外,请显式传递后端:

```bash
opendoor \
  --host https://example.com \
  --transport openvpn \
  --transport-profile ./profile.ovpn \
  --transport-bin /opt/homebrew/sbin/openvpn
```

在 Windows 上,`--transport-bin` 可以指向 `C:\Program Files\OpenVPN\bin\openvpn.exe`。如果 GUI 客户端或企业 VPN 代理已经占用了隧道,请在 OpenDoor 之外启动该 VPN,并以直连模式运行 OpenDoor。

### WireGuard 传输

```bash
opendoor \
  --host https://example.com \
  --transport wireguard \
  --transport-profile ./profile.conf
```

更多示例:

- [基础扫描](https://opendoor.readthedocs.io/examples/basic-scans/)
- [批量扫描](https://opendoor.readthedocs.io/examples/batch-scans/)
- [认证扫描](https://opendoor.readthedocs.io/examples/authenticated-scans/)
- [WAF 安全扫描](https://opendoor.readthedocs.io/examples/waf-safe-scans/)
- [标头绕过扫描](https://opendoor.readthedocs.io/examples/header-bypass-scans/)
- [VPN 传输扫描](https://opendoor.readthedocs.io/examples/vpn-transport-scans/)
- [CI/CD 示例](https://opendoor.readthedocs.io/examples/ci-cd/)

---

### 差异报告比较

OpenDoor 可以在不运行新扫描的情况下,精确比较两个先前/当前的报告。当你想要查看两次授权扫描结果之间出现了什么、消失了什么或发生了什么变化时,可以使用此功能。

支持的输入对仅限 SQLite 对 SQLite 和 JSON 对 JSON。混合格式、缺失文件、无效报告以及不支持的报告类型都会以优雅的验证错误失败。

```bash
opendoor --diff reports/baseline/example.com.sqlite:reports/current/example.com.sqlite --reports std,json
opendoor --diff reports/baseline/example.com.json:reports/current/example.com.json --reports std,json --reports-dir ./diff
```

### 用于 CI/CD 的 SARIF 报告

OpenDoor 可以将发现结果导出为 SARIF 2.1.0 格式,用于 GitHub Code Scanning 和兼容 SARIF 的安全流水线。

```bash
opendoor \
  --host https://example.com \
  --reports sarif,json \
  --reports-dir ./reports
```

GitHub Actions 上传示例:

```yaml
- name: Upload OpenDoor SARIF
  uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: reports/example.com/example.com.sarif
    category: opendoor
```
## 🎓 精通 OpenDoor

通过可复现、经授权的 Web 侦察工作流学习 OpenDoor 的实践文章系列。

![OpenDoor](https://assets.kitploit.com/production/public/readmes/1006/983c1d80cdc07ef89b26b4d4e60320eaf22d2ff72a0ed90ba920c1e3ac1b75a3.png)

- [第 1 部分 — 超越目录暴力破解的上下文感知 Web 侦察](https://medium.com/@stanisov/mastering-opendoor-context-aware-web-recon-beyond-directory-brute-force-part-1-cc13eda8cd3d)
- [第 2 部分 — 使用重定向、端点嗅探和有界爬取进行低噪声侦察](https://medium.com/@stanisov/mastering-opendoor-low-noise-recon-with-redirects-endpoint-sniffing-and-bounded-crawl-part-2-411b92675d6d)
- [系列配套页面](https://opendoor.readthedocs.io/guides/mastering-opendoor/)

## 📚 文档

完整文档可在 ReadTheDocs 上获取:

- [首页](https://opendoor.readthedocs.io/)
- [快速开始](https://opendoor.readthedocs.io/quickstart/)
- [安装与更新](https://opendoor.readthedocs.io/Installation-and-update/)
- [使用指南](https://opendoor.readthedocs.io/Usage/)
- [目标输入](https://opendoor.readthedocs.io/concepts/target-input/)
- [报告](https://opendoor.readthedocs.io/concepts/reports/)
- [指纹识别](https://opendoor.readthedocs.io/detection/fingerprinting/)
- [WAF 检测与安全模式](https://opendoor.readthedocs.io/detection/waf-detection/)
- [WAF 防护](https://opendoor.readthedocs.io/detection/waf-guard/)
- [头部注入绕过](https://opendoor.readthedocs.io/detection/header-bypass/)
- [自动校准](https://opendoor.readthedocs.io/detection/auto-calibration/)
- [网络传输](https://opendoor.readthedocs.io/transports/overview/)
- [TLS 兼容性与 mTLS](https://opendoor.readthedocs.io/transports/tls/)
- [OpenVPN 传输](https://opendoor.readthedocs.io/transports/openvpn/)
- [WireGuard 传输](https://opendoor.readthedocs.io/transports/wireguard/)
- [实用示例](https://opendoor.readthedocs.io/examples/basic-scans/)
- [测试](https://opendoor.readthedocs.io/Testing/)
- [贡献](https://opendoor.readthedocs.io/Contribution/)

---

## 🧪 开发

安装开发依赖:

```bash
python3 -m venv .venv
source .venv/bin/activate

python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements-dev.txt
python -m pip install -e .
```

运行测试:

```bash
python -m unittest
```

运行覆盖率:

```bash
coverage run -m unittest discover -s tests -p "test_*.py"
coverage report -m
```

构建文档:

```bash
python3 -m venv .docs-venv
source .docs-venv/bin/activate
python -m pip install -r docs/requirements.txt
python -m mkdocs build --strict
```

构建软件包产物:

```bash
python -m build
```

查看完整的[测试指南](https://opendoor.readthedocs.io/Testing/)和[贡献指南](https://opendoor.readthedocs.io/Contribution/)。

---

## 🔐 安全与密钥卫生

不要提交真实的密钥或私有传输配置文件。

切勿发布:

- 真实的 OpenVPN 配置文件;
- WireGuard 私钥;
- mTLS 客户端证书和私钥;
- auth-user-pass 文件;
- cookies;
- bearer tokens;
- 客户目标列表;
- 私有扫描报告;
- 敏感的 CI 构建产物。

仅使用占位符示例。

---

## ⚖️ 负责任的使用

OpenDoor 是一款安全测试工具。

仅可针对您拥有或已获得明确测试许可的系统使用它。

WAF 检测、WAF 安全扫描、原始请求重放、传输配置文件以及 Header Injection Bypass 探测等功能,旨在用于经授权的安全测试、防御性验证和暴露回归检查。

本项目不授予在未经授权的情况下扫描第三方系统、组织、商业服务或公共基础设施的许可。

---

## 🧾 更新日志

参见 [CHANGELOG.md](https://github.com/stanislav-web/opendoor/blob/master/CHANGELOG.md) 和 [GitHub Releases](https://github.com/stanislav-web/OpenDoor/releases)。

---

## 🤝 贡献

欢迎提交 Pull Request。

在贡献之前,请阅读[贡献指南](https://opendoor.readthedocs.io/Contribution/)并运行相关测试。
OpenDoor 通过代码贡献、文档更新、测试、问题报告、安全反馈、功能想法和社区验证不断改进。
感谢所有帮助改进本项目的人。

[![Contributors](https://contrib.rocks/image?repo=stanislav-web/OpenDoor)](https://github.com/stanislav-web/OpenDoor/graphs/contributors)

---

## 📄 许可证

OpenDoor 仅在 GNU General Public License v3.0 下发布。

参见 [LICENSE](https://github.com/stanislav-web/opendoor/blob/master/LICENSE)。

---

## 支持

如果 OpenDoor 对您的授权安全工作有所帮助,您可以通过 Giveth 支持其持续维护。

[在 Giveth 上支持 OpenDoor](https://giveth.io/project/opendoor)

---
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/stanislav-web/OpenDoor) [![License: GPL v3](https://img.shields.io/badge/license-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
下载工具