灰盒测试结合了白盒测试和黑盒测试的要素_灰盒测试渗透测试

hacker|
234

如何检测网站是否存在安全漏洞

检测网站的安全漏洞方式分为两种:①使用安全软件进行网站安全漏洞检测、②使用渗透测试服务进行安全漏洞检测。

1、使用安全软件进行网站安全漏洞检测

使用检测网站安全漏洞我们可以选择安全软件进行,安全软件可以对我们的网站和服务器进行体验,找出我们服务器以及网站的漏洞并且可以根据安全漏洞进行修复。

2、使用渗透测试服务进行安全漏洞检测

渗透测试是利用模拟黑客攻击的方式,评估计算机网络系统安全性能的一种方法。这个过程是站在攻击者角度对系统的任何弱点、技术缺陷或漏洞进行主动分析,并且有条件地主动利用安全漏洞。

渗透测试并没有严格的分类方法,即使在软件开发生命周期中,也包含了渗透测试的环节,但是根据实际应用,普遍认为渗透测试分为黑盒测试、白盒测试、灰盒测试三类。

①黑箱测试又被称为所谓的Zero-Knowledge

Testing,渗透者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email及各种公开对外的服务器。

②白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片段,也能够与单位的其它员工进行面对面的沟通。

③灰盒测试,白+黑就是灰色,灰盒测试是介于上述两种测试之间的一种方法,对目标系统有所一定的了解,还掌握了一定的信息,可是并不全面。渗透测试人员得持续性地搜集信息,并结合已知信息从中将漏洞找出。

但是不管采用哪种测试方法,渗透测试都具有以下特点:

(1)渗透测试是一个渐进的并且逐步深入的过程;

(2)渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。

黑盒测试,白盒测试和灰盒测试的区别

1黑盒测试

黑盒,顾名思义,就是把所有东西装到一个盒子里,看不到内部逻辑,只能通过外部的可见的功能模块,对软件进行测试。

比如说一个网站的登陆功能,你不知道它的内部逻辑是怎样的,只能通过网页的注册输入文本框和注册按钮,来测试注册这个功能是否正常。一般黑盒测试也叫数据驱动测试或者功能测试(通过输入数据来确定功能是否完整是否正常),一般它所关注的点如下:

1、是否有不正确或遗漏的功能?

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

2白盒测试白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。(一般的接口测试也可以理解为白盒测试,你自己清楚的知道各个业务流的逻辑走向,可以有效的制定一些测试用例,不需要盲目的通过功能点去做各项测试)

白盒测试主要是想对程序模块进行如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真"与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法

但是实际上灰盒测试用到的领域挺少的,这里就不再详细介绍。

更多软件测试基础知识分享一个免费学习链接:

下期软件测试大师订阅号预告:

每周推荐一部好电影,敬请期待。

软件测试和渗透测试有什么区别?

首先,测试对象不同

软件测试测试对象主要是程序、数据或文档;渗透测试的测试对象主要为网络设备、主机操作系统、数据库系统和应用系统。

其次,测试内容不同

软件测试主要工作内容是验证和确认,发现软件中的缺陷或者不足,然后把发现的问题整理成报告并分析出软件质量的好坏。

渗透测试主要包括:黑盒测试、白盒测试和灰盒测试。主要做的工作有:

信息收集、端口扫描、权限提升、远程溢出攻击、WEB应用测试、SQL注入攻击、检测页面隐藏字段、跨站攻击、Cookie利用、后门程序检查、第三方软件误配置等等

最后,测试原则不同:

软件测试原则:测试应该尽早进行;软件测试应该由第三方来负责;设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件;应该充分注意测试中的群集现象;对错误结果要进行一个确认过程;制定严格的测试计划;妥善保存测试计划、测试用例、出错统计和最终分析报告。

渗透测试原则:测试验证时间放在业务量最小的时间进行;测试执行前确保相关数据进行备份;所有测试在执行前和维护人员进行沟通确认;在测试过程中出现异常情况时立即停止测试并及时恢复系统;对原始业务系统进行一个完全的镜像环境,在镜像环境上进行渗透性测试。

黑盒、白盒和灰盒测试的基本概念?

黑盒、白盒和灰盒测试的基本概念

1. 黑盒测试

黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

 

黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

 

2. 白盒测试

白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

3. 灰盒测试

灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

 

灰盒测试结合了白盒测试盒黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。

 

灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。

 

灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。

0条大神的评论

发表评论