黑盒:外部攻击者的视角
在黑盒测试中,测试者几乎没有或完全没有内部信息,往往只有一个域名或一段 IP 范围,并像外部攻击者那样工作。这种方式适合模拟伺机而动的外部人员。但固定的时长会被大量花在探查上,而真实的攻击者可以为此投入数月,因此一些真实但更深层的缺陷可能仅仅因为时间不够而被遗漏。
这三个术语描述的是测试者在开始前对目标了解多少,以及由此决定的、在可用时间内实际能深入到什么程度。它们代表的是了解程度的不同,而不是质量高低的排名。
在黑盒测试中,测试者几乎没有或完全没有内部信息,往往只有一个域名或一段 IP 范围,并像外部攻击者那样工作。这种方式适合模拟伺机而动的外部人员。但固定的时长会被大量花在探查上,而真实的攻击者可以为此投入数月,因此一些真实但更深层的缺陷可能仅仅因为时间不够而被遗漏。
灰盒为测试者提供部分信息,通常是各角色的有效账户,以及 OpenAPI/Swagger 之类的 API 规范。对大多数应用与 API 工作而言,这是务实的默认选择,因为预算花在发现真实缺陷上,而不是花在侦察上。BOLA/IDOR 这类授权缺陷只有用多个账户才能发现:只有一个令牌或没有令牌,根本无法触发它们。
白盒(也称水晶盒)测试提供全部信息:源代码、架构、配置以及与相关人员沟通的渠道。它能实现最深的覆盖,适合需要高保障、或要对照某标准较高等级进行验证的场景。OWASP ASVS 5.0 指出,其更严格的等级可能恰恰需要这种对文档、源码与配置的访问。
请按保障目标来选择,而不是看哪种听起来最难。黑盒适合贴近实战的外部攻击者模拟;灰盒是 Web 与 API 评估中高效的默认选择;白盒用于高保障评审与标准验证。另外有一个已经过时的观念需要说明:ASVS 5.0 重新定义了 Level 1,因此「ASVS L1 等同于一次黑盒渗透测试」这一旧说法已不再成立。验证等级如今是一项风险决策。
它们描述的是测试者在开始前对目标了解多少,而不是质量高低的排名。黑盒几乎不掌握内部信息;灰盒提供部分信息,例如有效账户和规格说明;白盒则提供完整的源代码、架构和配置。
对大多数应用和 API 测试而言,灰盒是务实的默认选择,因为预算花在发现真实漏洞上,而不是花在信息收集上。这对 BOLA/IDOR 这类授权漏洞尤为重要:它们只能借助分属不同角色的多个账户才能发现,单个令牌或没有令牌都无法验证。
不再等同。OWASP ASVS 5.0 重新界定了第 1 级,因此「ASVS L1 等于黑盒渗透测试」这一旧说法已不成立。验证级别如今是一项风险决策,而更高、更严格的 ASVS 级别可能需要以白盒方式访问源代码和配置。