娱乐

灰盒测试不属于渗透测试

时间:2010-12-5 17:23:32  作者:休闲   来源:知识  查看:  评论:0
内容摘要:上周有个做安全测试的朋友跟我吐槽,说他们公司新来的项目经理把灰盒测试写进了渗透测试报告里,还振振有词地说“都是模拟攻击,有什么区别”。他当时差点把咖啡喷在屏幕上。 这事其实挺常见。很多人看到“测试”两

上周有个做安全测试的灰盒朋友跟我吐槽,说他们公司新来的测试项目经理把灰盒测试写进了渗透测试报告里,还振振有词地说“都是不属模拟攻击,有什么区别”。于渗他当时差点把咖啡喷在屏幕上。透测

这事其实挺常见。灰盒很多人看到“测试”两个字就自动归类,测试觉得只要涉及安全、不属涉及攻击模拟,于渗那就是透测渗透测试。灰盒测试确实会用到一些渗透测试的灰盒思路和工具,但把它俩画等号,测试就像把拳击和街头斗殴当成一回事——都动手了,不属规则和目的于渗完全不同。

先说灰盒测试到底在干什么。透测它通常发生在开发阶段或集成阶段,测试人员手里有部分内部信息:可能是数据库结构、可能是API文档、也可能是部分源码。拿着这些信息去验证系统在特定条件下的行为——比如权限校验有没有漏洞、异常输入会不会导致崩溃、日志记录是否完整。重点在于“验证”,验证设计是否落地、验证边界是否覆盖。

渗透测试呢?它的起点是“模拟真实攻击者”。攻击者不会拿到你的架构图,不会知道你的数据库字段名,更不会有人给他一份接口说明。渗透测试人员要做的是从零开始收集信息、寻找入口、逐步提权、横向移动,最终证明“如果我是坏人,我能造成多大破坏”。整个过程的核心是“发现未知”,而不是“验证已知”。

我见过一个很典型的例子。某电商平台做灰盒测试,测试人员知道订单接口有个隐藏参数可以修改折扣金额,于是构造请求验证——果然,后端没有二次校验,直接按传入的折扣价生成了订单。报告里写得很清楚:接口参数校验缺失。后来他们又请了渗透测试团队,渗透测试人员根本不知道这个接口的存在,他是通过分析前端JS文件、抓取移动端流量、枚举API路径,花了三天才摸到这个接口。然后他尝试了参数篡改、越权访问、批量重放,最终不仅确认了折扣问题,还顺带发现了另一个漏洞:这个接口没有做频率限制,可以无限次调用试探折扣下限。

灰盒测试找到了一个点,渗透测试找到了一个面。灰盒测试的效率高,因为它有地图;渗透测试的效率低,但它的价值恰恰在于“没有地图”。

还有一点经常被忽略:灰盒测试的输出是缺陷列表,渗透测试的输出是攻击路径和风险评级。前者给开发看,后者给管理层看。目的不同,方法不同,交付物不同。硬要把灰盒测试塞进渗透测试的框架里,结果就是报告四不像——既没有渗透测试的完整攻击链,又丢了灰盒测试的精准定位。

我那朋友最后在报告里加了一页说明,把灰盒测试和渗透测试的边界画得清清楚楚。项目经理看完没再吭声。他说这页说明比整个测试报告都值钱。

所以下次再有人把灰盒测试当成渗透测试,你可以直接问他:你手里有内部信息吗?如果有,那你做的就不是渗透测试。渗透测试的本质是“无知者无畏”——测试人员对系统一无所知,才能模拟出真实攻击者的视角。一旦你拿到了内部文档,视角就变了,测试的性质也就变了。

这不是抠字眼。分类错了,预期就错了;预期错了,投入的资源、评估的标准、修复的优先级全都会跟着错。灰盒测试很重要,渗透测试也很重要,但它们是两件事。混在一起谈,对谁都没好处。

最近更新
热门排行
copyright © 2026 powered by 烟消火灭网   sitemap