
OpenDoor 是一个开源 CLI 侦察平台,用于经授权的 Web 侦察、目录发现、子域名枚举、指纹识别、WAF 检测、绕过探测、响应过滤、报告生成、开放重定向检查、受限爬取以及基于传输的扫描工作流。
它帮助安全研究人员、渗透测试人员、漏洞赏金猎人、DevSecOps 工程师和开发人员识别暴露的路径、登录面板、目录列表、受限资源、备份文件、Web Shell、子域名以及其他可能敏感的 Web 资产。
仅在您拥有或已获得明确测试许可的系统上使用 OpenDoor。
| 平台 | Python 3.12 | Python 3.13 | Python 3.14 |
|---|---|---|---|
| Linux | |||
| macOS | |||
| Windows |
--fingerprint 中进行被动隐私风险检查,包括可能的 HSTS、ETag/缓存和超级 Cookie 暴露面。401 和 403 资源进行受控的请求头和路径绕过探测;它专为那些仅靠速度不够的真实目标而设计:WAF、CDN、软 404 页面、通配符路由、受限资源、认证区域、不稳定网络、多目标批次以及受传输控制的扫描。 自 2016 年首次发布至今,OpenDoor 发生了巨大变化,从原始的暴力破解工具发展为新的自适应发现框架,变得对 DevOps 和 QA 友好。 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 / preload 就绪状态以及 WAF / 反机器人系统。