白盒扫描(源代码扫描)、黑盒扫描和漏扫的区别

        关于白盒扫描、黑盒扫描和漏扫,经常有客户分不清楚他们之间的区别,见到不同的客户秀需要解释一番,上网上搜索,也没有一个比较统一和权威的答案,这里根据自己的理解,列出三者的区别,如果有误,欢迎指正!

 白盒扫描黑盒扫描漏扫
扫描对象应用功能程度自身源代码运行时的应用程序运行时的应用程序以及环境
扫描侧重点应用程序自身的漏洞应用程序自身的漏洞应用程序运行的环境的漏洞
是否需要运行时的环境不需要需要需要
扫描速度很慢
覆盖率
对运行时环境是否有影响
误报率
漏报率(未知)

备注:漏扫的漏报率,没有了解过,所以这里是未知,如果有了解的同学,可以提供一下。

      不管用什么工具,即使全部适用,也不是说用过之后,就高枕无忧了。它们加在一起还是有一些漏洞做不了,主要是关于认证、授权以及业务逻辑的漏洞等,自动化工具是发现不了的。所以,还要结合人工渗透测试,才能保证没有明显的遗漏。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑盒测试和白盒测试都是软件测试的方法。下面我将分别举例具体代码说明这两种测试方法。 1. 黑盒测试 在黑盒测试中,测试人员只关注软件系统的外部行为,而不考虑其内部结构或实现细节。测试人员只能看到输入和输出,无法访问代码或内部数据结构。因此,黑盒测试通常被称为功能测试或行为测试。 举个例子,假设我们要测试一个简单的登录页面,测试人员只需要输入不同的用户名和密码,并检查系统的响应是否符合预期。以下是一个示例代码: ```python def test_login(): assert login("user1", "password1") == "Welcome, user1!" assert login("user2", "password2") == "Welcome, user2!" assert login("user3", "password3") == "Invalid username or password" ``` 在这个例子中,测试人员只关注输入和输出,而不考虑内部的实现细节。 2. 白盒测试 在白盒测试中,测试人员可以访问源代码和内部数据结构,以便更全面地测试软件系统。测试人员可以检查代码的各个部分是否按照预期工作,并且可以通过更详细的覆盖率分析来发现隐藏的缺陷或洞。 举个例子,假设我们要测试一个简单的计算器程序,以下是一个示例代码: ```python def test_addition(): assert add(2, 3) == 5 assert add(0.1, 0.2) == 0.3 def test_subtraction(): assert subtract(5, 3) == 2 assert subtract(0.2, 0.1) == 0.1 ``` 在这个例子中,测试人员可以检查代码的各个部分,如加法和减法函数,以确保它们按照预期工作。测试人员还可以使用代码覆盖率工具来确保测试用例覆盖了程序的所有部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值