CN110399725A - 漏洞处理方法及装置、电子设备和计算机可读存储介质 - Google Patents
漏洞处理方法及装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110399725A CN110399725A CN201910525172.3A CN201910525172A CN110399725A CN 110399725 A CN110399725 A CN 110399725A CN 201910525172 A CN201910525172 A CN 201910525172A CN 110399725 A CN110399725 A CN 110399725A
- Authority
- CN
- China
- Prior art keywords
- loophole
- user interface
- testing procedure
- record
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 26
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 92
- 230000008569 process Effects 0.000 claims abstract description 81
- 238000012360 testing method Methods 0.000 claims abstract description 71
- 238000012956 testing procedure Methods 0.000 claims abstract description 67
- 238000012795 verification Methods 0.000 claims abstract description 48
- 230000008859 change Effects 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 16
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000009467 reduction Effects 0.000 description 9
- 230000009466 transformation Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种漏洞处理方法及装置、电子设备和计算机可读存储介质,涉及研发管理技术领域,其中,该方法包括:在自动化测试过程中,检测当前测试步骤是否通过断言校验;在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示;根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本;根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。通过本发明的技术方案,简化了漏洞回放操作,无需消耗人力成本手动检测漏洞和搜寻漏洞,提升了漏洞回放和处理的效率。
Description
【技术领域】
本发明涉及研发管理技术领域,尤其涉及一种漏洞处理方法及装置、电子设备和计算机可读存储介质。
【背景技术】
用户或测试人员在发现漏洞后需要通知开发人员对漏洞进行修复,这就需要前者为后者提供漏洞的相关信息,目前,一般通过截图描述、现场还原等方式来为开发人员回放漏洞的相关信息。
其中,截图描述需要在进行截图后对每个截图进行语言描述,这一步骤操作复杂,且由于个人间语言描述能力和理解能力均不一致,很难使对方通过语言描述来正确理解漏洞的实际情况。而现场还原的方式需要开发人员实地操作漏洞出现的系统,非常耗费人力。
因此,如何提供一种高效便捷的漏洞回放方式,成为目前亟待解决的技术问题。
【发明内容】
本发明实施例提供了一种漏洞处理方法及装置、电子设备和计算机可读存储介质,旨在解决相关技术中漏洞处理不便的技术问题,能够提供一种高效便捷的漏洞回放方式,简化漏洞处理步骤,提升测试工作的效率。
第一方面,本发明实施例提供了一种漏洞处理方法,包括:在自动化测试过程中,检测当前测试步骤是否通过断言校验;在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示;根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本;根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
在本发明上述实施例中,可选地,在所述自动化测试之前,还包括:为每个测试步骤设置对应的预定结果;所述检测当前测试步骤是否通过断言校验的步骤,包括:判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,其中,在所述当前结果与所述预定结果不一致的情况下,生成所述漏洞录制指示。
在本发明上述实施例中,可选地,在所述自动化测试之前,还包括:为每个测试步骤设置对应的预定结果和预定处理时长;所述检测当前测试步骤是否通过断言校验的步骤,包括:判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,以及,判断所述当前测试步骤所消耗的当前处理时长是否小于或等于所述预定处理时长,其中,在所述当前结果与所述预定结果不一致和/或所述当前处理时长小于或等于所述预定处理时长的情况下,生成所述漏洞录制指示。
在本发明上述实施例中,可选地,所述根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本的步骤,包括:根据所述漏洞录制指示,调用所述指定的数据采集入口录制所述漏洞发生过程中数据库发生的若干项数据变化信息,所述数据变化信息包括数据写入信息、数据变更信息和数据删除信息;根据所述漏洞录制指示,获取所述用户界面在漏洞发生过程中的工作流;根据所述工作流中每项任务的发生时间和所述若干项数据变化信息的发生时间,为所述每项任务匹配对应的数据变化信息;按照所述每项任务在所述工作流中的顺序,将其对应的数据变化信息的源代码进行组合,生成所述用户界面运行脚本。
在本发明上述实施例中,可选地,在所述根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本的步骤之前,还包括:在所述当前测试步骤未能通过所述断言校验的情况下,获取所述自动化测试的类型、所述当前测试步骤的类型或所述当前测试步骤所属的应用的类型;将所述自动化测试的类型对应的接口、所述当前测试步骤的类型对应的接口或所述应用的类型对应的接口设置为所述指定的数据采集入口。
在本发明上述实施例中,可选地,所述漏洞录制指示包括录制时间间隔和录制对象,则在所述根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本的步骤之前,还包括:在接口集合中选择可调用时间大于或等于所述录制时间间隔的若干个第一接口;在所述若干个第一接口中选择录制权限包括所述录制对象的第二接口,作为所述指定的数据采集入口。
第二方面,本发明实施例提供了一种漏洞处理装置,包括:断言校验检测单元,用于在自动化测试过程中,检测当前测试步骤是否通过断言校验;指示生成单元,用于在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示;脚本录制单元,用于根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本;漏洞回放单元,用于根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
在本发明上述实施例中,可选地,还包括:第一设置单元,用于在所述自动化测试之前,为每个测试步骤设置对应的预定结果;所述断言校验检测单元用于:判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,其中,在所述当前结果与所述预定结果不一致的情况下,生成所述漏洞录制指示。
在本发明上述实施例中,可选地,还包括:第二设置单元,用于在所述自动化测试之前,为每个测试步骤设置对应的预定结果和预定处理时长;所述断言校验检测单元用于:判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,以及,判断所述当前测试步骤所消耗的当前处理时长是否小于或等于所述预定处理时长,其中,在所述当前结果与所述预定结果不一致和/或所述当前处理时长小于或等于所述预定处理时长的情况下,生成所述漏洞录制指示。
在本发明上述实施例中,可选地,所述脚本录制单元包括:信息调用单元,用于根据所述漏洞录制指示,调用所述指定的数据采集入口录制所述漏洞发生过程中数据库发生的若干项数据变化信息,所述数据变化信息包括数据写入信息、数据变更信息和数据删除信息;工作流获取单元,用于根据所述漏洞录制指示,获取所述用户界面在漏洞发生过程中的工作流;信息匹配单元,用于根据所述工作流中每项任务的发生时间和所述若干项数据变化信息的发生时间,为所述每项任务匹配对应的数据变化信息;脚本生成单元,用于按照所述每项任务在所述工作流中的顺序,将其对应的数据变化信息的源代码进行组合,生成所述用户界面运行脚本。
在本发明上述实施例中,可选地,还包括:类型获取单元,用于在所述脚本录制单元调用所述指定的数据采集入口录制漏洞发生过程中的所述用户界面运行脚本之前,在所述当前测试步骤未能通过所述断言校验的情况下,获取所述自动化测试的类型、所述当前测试步骤的类型或所述当前测试步骤所属的应用的类型;入口设置单元,用于将所述自动化测试的类型对应的接口、所述当前测试步骤的类型对应的接口或所述应用的类型对应的接口设置为所述指定的数据采集入口。
在本发明上述实施例中,可选地,所述漏洞录制指示包括录制时间间隔和录制对象,则还包括:第一接口选择单元,用于在所述脚本录制单元调用所述指定的数据采集入口录制漏洞发生过程中的所述用户界面运行脚本之前,在接口集合中选择可调用时间大于或等于所述录制时间间隔的若干个第一接口;第二接口选择单元,用于在所述若干个第一接口中选择录制权限包括所述录制对象的第二接口,作为所述指定的数据采集入口。
第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面中任一项所述的方法流程。
通过以上技术方案,针对相关技术中漏洞处理不便的技术问题,提出了自动录制漏洞的用户界面运行脚本的技术方案,具体来说,无需用户或测试人员主动发现漏洞,而是在测试过程中自动进行断言校验,断言校验指的是在测试等模拟步骤中引入形式特征检查的验证方法,用这种方法,在编写代码时就插入对特征的描述——断言,这一描述可以为特征的某种属性信息,也可以为特征应当达到的条件。代码完成测试后,检验测试结果中的特征是否符合先前插入的描述,若符合,则确定为通过断言校验,否则,确定没有通过断言校验。换言之,断言校验可自动判断测试步骤的结果是否符合预期,若判定测试步骤的结果符合预期,说明测试顺利,没有漏洞产生。反之,若判定测试步骤的结果不符合预期,则说明测试出现漏洞,此时,可自动生成漏洞录制指示,以启动后续自动录制漏洞的步骤。
在自动录制漏洞的过程中,可建立指定的数据采集入口供录制漏洞时采集数据使用,该指定的数据采集入口专用于录制漏洞时采集数据使用,具有指定的数据采集条件,比如,只录制自收到漏洞录制指示起的预定时间间隔内的用户界面运行脚本,或只录制自收到漏洞录制指示起的预定时间间隔内由自动化测试的指定模块产生的用户界面运行脚本。这里的用户界面运行脚本指的是漏洞发生过程中导致数据库发生数据变化的执行代码,执行此执行代码即可还原漏洞发生过程。
因此,接下来即可对此用户界面运行脚本进行回放,以实现对漏洞发生过程中的用户界面变化进行真实还原,便于开发人员直接了解漏洞发生过程,简化了漏洞回放操作,无需消耗人力成本手动检测漏洞和搜寻漏洞,提升了漏洞回放和处理的效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本发明的一个实施例的漏洞处理方法的流程图;
图2示出了本发明的另一个实施例的漏洞处理方法的流程图;
图3示出了本发明的再一个实施例的漏洞处理方法的流程图;
图4示出了本发明的又一个实施例的漏洞处理方法的流程图;
图5示出了本发明的一个实施例的漏洞处理装置的框图;
图6示出了根据本发明的一个实施例的电子设备的框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1示出了本发明的一个实施例的漏洞处理方法的流程图。
如图1所示,本发明的一个实施例的漏洞处理方法的流程包括以下步骤:
步骤102,在自动化测试过程中,检测当前测试步骤是否通过断言校验。
步骤104,在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示。
具体来说,无需用户或测试人员主动发现漏洞,而是在测试过程中自动进行断言校验,断言校验指的是在测试等模拟步骤中引入形式特征检查的验证方法,用这种方法,在编写代码时就插入对特征的描述——断言,这一描述可以为特征的某种属性信息,也可以为特征应当达到的条件。代码完成测试后,检验测试结果中的特征是否符合先前插入的描述,若符合,则确定为通过断言校验,否则,确定没有通过断言校验。换言之,断言校验可自动判断测试步骤的结果是否符合预期,若判定测试步骤的结果符合预期,说明测试顺利,没有漏洞产生。反之,若判定测试步骤的结果不符合预期,则说明测试出现漏洞,此时,可自动生成漏洞录制指示,以启动后续自动录制漏洞的步骤。
步骤106,根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本。
在自动录制漏洞的过程中,可建立指定的数据采集入口供录制漏洞时采集数据使用,该指定的数据采集入口专用于录制漏洞时采集数据使用,具有指定的数据采集条件,比如,只录制自收到漏洞录制指示起的预定时间间隔内的用户界面运行脚本,或只录制自收到漏洞录制指示起的预定时间间隔内由自动化测试的指定模块产生的用户界面运行脚本。这里的用户界面运行脚本指的是漏洞发生过程中导致数据库发生数据变化的执行代码,执行此执行代码即可还原漏洞发生过程。
步骤108,根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
用户界面运行脚本是在漏洞发生过程中录制,也就是说,此用户界面运行脚本的运行会相应产生该漏洞,因此,在后台运行该用户界面运行脚本,相当于在后台重复执行漏洞发生的整个过程中的代码,前台的用户界面上就会相应地重复展现漏洞发生的真实过程。由此,即可将漏洞发生过程中的代码执行情况与用户界面上的漏洞表现情况进行关联回放,从而可对漏洞发生过程中的用户界面变化进行真实还原,便于开发人员直接了解漏洞发生过程,简化了漏洞回放操作,无需消耗人力成本手动检测漏洞和搜寻漏洞,提升了漏洞回放和处理的效率。
图2示出了本发明的另一个实施例的漏洞处理方法的流程图。
如图2所示,本发明的另一个实施例的漏洞处理方法的流程包括以下步骤:
步骤202,为每个测试步骤设置对应的预定结果。
步骤204,在自动化测试过程中,判断当前测试步骤得到的当前结果是否与所述预定结果一致。
步骤206,在所述当前结果与所述预定结果不一致的情况下,生成所述漏洞录制指示。
在该技术方案中,可将测试动作的预定结果作为断言测试的验证条件,只有在当前结果与所述预定结果一致的情况下,才说明当前结果符合预期,测试顺利完成,没有产生漏洞。否则,若当前结果是否与所述预定结果不一致,则说明当前结果不符合预期,此时,生成漏洞录制指示,以启动漏洞自动录制和回复的过程。
在本发明的另一种实现方式中,还包括:为每个测试步骤设置对应的预定结果和预定处理时长;则可判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,以及,判断所述当前测试步骤所消耗的当前处理时长是否小于或等于所述预定处理时长,其中,在所述当前结果与所述预定结果不一致和/或所述当前处理时长小于或等于所述预定处理时长的情况下,生成所述漏洞录制指示。
也就是说,可将测试动作的预定结果和预定处理时长同时作为断言测试的验证条件,只有在当前结果是否与所述预定结果一致,并且测试动作在预定处理时长内完成的情况下,才说明当前结果符合预期,测试顺利完成,没有产生漏洞。否则,若当前结果是否与所述预定结果不一致,或者,测试动作在预定处理时长内未完成,或者,当前结果与所述预定结果不一致且测试动作在预定处理时长内未完成,均说明当前结果不符合预期,此时,生成漏洞录制指示,以启动漏洞自动录制和回复的过程。
当然,断言校验的依据包括但不限于上述情况,还可以依据任何符合实际需要的其他校验条件进行验证,以实现及时发现漏洞和启动漏洞自动录制的目的。
步骤208,根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中数据库发生的若干项数据变化信息。
其中,所述数据变化信息包括数据写入信息、数据变更信息和数据删除信息等多种类型的信息,还包括每种类型的信息对应的变化时间,每一条数据变化信息均是在确定的变化时间执行相应的代码而得到的数据变化结果。
基于此,可将大量的数据变化信息按照对应的变化时间从晚至早进行排序,在完成排序后,继续按照变化时间从晚至早的顺序,将每一条数据变化信息按照根据其类型进行还原,追溯引起此数据变化的源代码,比如,对于数据写入信息a,其类型为写入,则对应的源代码则为写入a,因此,可推得写入a之前的数据信息。再比如,对于数据变更信息b,其类型为变更,其变更方式为x,则对应的源代码则为通过x方式变更得到b,因此,可推得更得到b前的数据信息。其中,由于数据变化层层相关,为保证数据回放准确性,每完成一条数据变化信息的还原,都要在其还原结果的基础上,继续下一条数据变化信息的还原。
因此,通过录制漏洞发生过程中数据库发生的若干项数据变化信息,可追溯引起此数据变化也就是引起当前的漏洞的源代码,有助于还原漏洞发生过程。
步骤210,根据所述漏洞录制指示,获取所用户界面在漏洞发生过程中的工作流。
步骤212,根据所述工作流中每项任务的发生时间和所述若干项数据变化信息的发生时间,为所述每项任务匹配对应的数据变化信息。
步骤214,按照所述每项任务在所述工作流中的顺序,将其对应的数据变化信息的源代码进行组合,生成用户界面运行脚本。
工作流的每项任务中可发生一项或多项数据变化信息,则该任务的整体的发生时间会将其内一项或多项数据变化信息的发生时间(即上述技术方案中的变化时间)囊括在内,故可由此确定每项任务对应哪一项或多项数据变化信息。同时,在上述技术方案中,已按照数据变化信息的变化时间从晚至早的顺序,将每一条数据变化信息按照根据其类型进行还原,追溯引起此数据变化的源代码。至此,所有数据变化信息的源代码均已得到还原。
因此,当遇到有发生时间(即上述技术方案中的变化时间)相同的多个数据变化信息的情况时,由于同一个任务中的多项数据变化信息是有先后顺序的,则发生时间相同的多个数据变化信息必属于不同任务,故无需烦恼如何为其确定准确顺序,只需要确定其所属的工作流即可。每项任务在工作流中的顺序是一定的,故可将所有的数据变化信息按照自身所在的工作流作为分组,按照工作流的顺序进行排列。相应地,将数据变化信息的源代码也如此排列,即可得到完整的用户界面运行脚本,这一用户界面运行脚本即为发生漏洞的工作流在发生漏洞过程中的完整执行代码。
换句话说,漏洞发生过程中的工作流包括有序的多项任务,每项任务的进行均引起相应的数据变化,即数据库的数据变化情况与用户界面的工作流是一一对应的,正是因为用户界面的工作流才产生数据库中的数据变化,而用户界面的工作流分为若干个任务,每个任务的发生均会引起相应的数据变化。故首先根据每项任务的发生时间和所述若干项数据变化信息的发生时间,将发生时间相同的任务与数据变化信息进行匹配,或者说,将发生于该任务的发生时间内的数据变化信息匹配至该任务。接着,即可按照工作流中各项任务的顺序将对应的各项数据变化信息组合起来,并经由这些数据变化信息还原得到其上级代码,即运行可得到这些数据变化信息的代码,换言之,也就是运行发生漏洞的代码,从而可以将运行发生漏洞的代码描述为用户界面运行脚本。
步骤216,根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
用户界面运行脚本是在漏洞发生过程中录制,也就是说,此用户界面运行脚本的运行会相应产生该漏洞,因此,在后台运行该用户界面运行脚本,相当于在后台重复执行漏洞发生的整个过程中的代码,前台的用户界面上就会相应地重复展现漏洞发生的真实过程。由此,即可将漏洞发生过程中的代码执行情况与用户界面上的漏洞表现情况进行关联回放,从而可对漏洞发生过程中的用户界面变化进行真实还原,便于开发人员直接了解漏洞发生过程,简化了漏洞回放操作,无需消耗人力成本手动检测漏洞和搜寻漏洞,提升了漏洞回放和处理的效率。
以上技术方案,介绍了漏洞录制的具体过程,相对于相关技术中需要开发人员手动进行漏洞还原的过程,可以在获得漏洞录制指示后,直接实施漏洞录制,无需手动操作,从而降低了人力成本,有助于提升漏洞处理效率。
图3示出了本发明的再一个实施例的漏洞处理方法的流程图。
如图3所示,本发明的再一个实施例的漏洞处理方法的流程包括以下步骤:
步骤302,在自动化测试过程中,检测当前测试步骤是否通过断言校验。
步骤304,在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示。
步骤306,获取所述自动化测试的类型、所述当前测试步骤的类型或所述当前测试步骤所属的应用的类型。
步骤308,在接口集合中,选择所述自动化测试的类型对应的接口、所述当前测试步骤的类型对应的接口或所述应用的类型对应的接口作为指定的数据采集入口。
步骤310,根据所述漏洞录制指示,调用所述指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本。
步骤312,根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
自动化测试的类型包括正常条件下的自动化测试和异常条件下的自动化测试,由于自动化测试系统中有可能同时进行不同类型的自动化测试,故为避免不同类型的自动化测试互相影响,可为每种类型的自动化测试设置用于漏洞处理的指定的数据采集入口,以保证每种类型的自动化测试进行漏洞数据采集的准确性,有助于使每种类型的自动化测试在发生漏洞时都可以真实还原和回复。
同样,当前测试步骤的类型多种多样,可以是预处理步骤、属性设置步骤、去重步骤、纠错步骤、合并步骤等等,由于一项自动化测试中会有不同步骤并行进行,故为了避免因漏洞处理导致各步骤间的执行出现错乱,可为不同的步骤分别分配对应的数据采集入口,以保证每种步骤进行漏洞数据采集的准确性,有助于使每种步骤在发生漏洞时都可以真实还原和回复。
亦同样,当前测试步骤所属的应用包括但不限于社交应用、游戏应用、支付应用等,由于一项自动化测试中会有不同应用并行进行,或同时进行的多项自动化测试分别调用不同的应用,故为了避免因漏洞处理导致各应用间的步骤执行出现错乱,可为不同的应用分别分配对应的数据采集入口,以保证每种应用进行漏洞数据采集的准确性,有助于使每种应用在发生漏洞时都可以真实还原和回复。
图4示出了本发明的又一个实施例的漏洞处理方法的流程图。
如图4所示,本发明的又一个实施例的漏洞处理方法的流程包括以下步骤:
步骤402,在自动化测试过程中,检测当前测试步骤是否通过断言校验。
步骤404,在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示,所述漏洞录制指示包括录制时间间隔和录制对象。
步骤406,在接口集合中选择可调用时间大于或等于所述录制时间间隔的若干个第一接口。
步骤408,在所述若干个第一接口中选择录制权限包括所述录制对象的第二接口,作为指定的数据采集入口。
步骤410,根据所述漏洞录制指示,调用所述指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本。
步骤412,根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
指定的数据采集入口是专用于录制漏洞时采集数据使用,具有指定的数据采集条件,而由于漏洞多种多样,不同的漏洞的数据采集条件也就各有不同。而自动化测试系统中虽提供大量接口,但其各接口的数据采集能力也有所不同。因此,可将漏洞录制指示中的录制时间间隔和录制对象作为数据采集条件,选择可调用时间大于或等于所述录制时间间隔且录制权限包括所述录制对象的接口这样一来,此接口的可调用时间足够录制整个漏洞发生过程,并且,此接口的录制权限中也包括漏洞发生的录制对象,故此接口有能力有权限完成对此次漏洞的数据采集工作,因此,可作为此次漏洞的数据采集入口。
通过以上技术方案,能够选择能力和权限均适宜的接口完成漏洞数据采集工作,有助于漏洞顺利还原和回复,提升了漏洞处理效率。
图5示出了本发明的一个实施例的漏洞处理装置的框图。
如图5所示,本发明的一个实施例的漏洞处理装置500包括:断言校验检测单元502,用于在自动化测试过程中,检测当前测试步骤是否通过断言校验;指示生成单元504,用于在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示;脚本录制单元506,用于根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本;漏洞回放单元508,用于根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
在本发明上述实施例中,可选地,还包括:第一设置单元,用于在所述自动化测试之前,为每个测试步骤设置对应的预定结果;所述断言校验检测单元502用于:判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,其中,在所述当前结果与所述预定结果不一致的情况下,生成所述漏洞录制指示。
在本发明上述实施例中,可选地,还包括:第二设置单元,用于在所述自动化测试之前,为每个测试步骤设置对应的预定结果和预定处理时长;所述断言校验检测单元502用于:判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,以及,判断所述当前测试步骤所消耗的当前处理时长是否小于或等于所述预定处理时长,其中,在所述当前结果与所述预定结果不一致和/或所述当前处理时长小于或等于所述预定处理时长的情况下,生成所述漏洞录制指示。
在本发明上述实施例中,可选地,所述脚本录制单元506包括:信息调用单元,用于根据所述漏洞录制指示,调用所述指定的数据采集入口录制所述漏洞发生过程中数据库发生的若干项数据变化信息,所述数据变化信息包括数据写入信息、数据变更信息和数据删除信息;工作流获取单元,用于根据所述漏洞录制指示,获取所述用户界面在漏洞发生过程中的工作流;信息匹配单元,用于根据所述工作流中每项任务的发生时间和所述若干项数据变化信息的发生时间,为所述每项任务匹配对应的数据变化信息;脚本生成单元,用于按照所述每项任务在所述工作流中的顺序,将其对应的数据变化信息的源代码进行组合,生成所述用户界面运行脚本。
在本发明上述实施例中,可选地,还包括:类型获取单元,用于在所述脚本录制单元506调用所述指定的数据采集入口录制漏洞发生过程中的所述用户界面运行脚本之前,在所述当前测试步骤未能通过所述断言校验的情况下,获取所述自动化测试的类型、所述当前测试步骤的类型或所述当前测试步骤所属的应用的类型;入口设置单元,用于将所述自动化测试的类型对应的接口、所述当前测试步骤的类型对应的接口或所述应用的类型对应的接口设置为所述指定的数据采集入口。
在本发明上述实施例中,可选地,所述漏洞录制指示包括录制时间间隔和录制对象,则还包括:第一接口选择单元,用于在所述脚本录制单元506调用所述指定的数据采集入口录制漏洞发生过程中的所述用户界面运行脚本之前,在接口集合中选择可调用时间大于或等于所述录制时间间隔的若干个第一接口;第二接口选择单元,用于在所述若干个第一接口中选择录制权限包括所述录制对象的第二接口,作为所述指定的数据采集入口。
该漏洞处理装置500使用图1至图4示出的实施例中任一项所述的方案,因此,具有上述所有技术效果,在此不再赘述。
图6示出了根据本发明的一个实施例的电子设备的框图。
如图6所示,本发明的一个实施例的电子设备600,包括至少一个存储器602;以及,与所述至少一个存储器602通信连接的处理器604;其中,所述存储器存储有可被所述至少一个处理器604执行的指令,所述指令被设置为用于执行上述图1至图4实施例中任一项所述的方案。因此,该电子设备600具有和图1至图4实施例中任一项相同的技术效果,在此不再赘述。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
另外,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述图1至图4实施例中任一项所述的方法流程。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,简化了漏洞回放操作,无需消耗人力成本手动检测漏洞和搜寻漏洞,提升了漏洞回放和处理的效率。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述接口,但这些接口不应限于这些术语。这些术语仅用来将接口彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一接口也可以被称为第二接口,类似地,第二接口也可以被称为第一接口。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种漏洞处理方法,其特征在于,包括:
在自动化测试过程中,检测当前测试步骤是否通过断言校验;
在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示;
根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本;
根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
2.根据权利要求1所述的漏洞处理方法,其特征在于,在所述自动化测试之前,还包括:
为每个测试步骤设置对应的预定结果;
所述检测当前测试步骤是否通过断言校验的步骤,包括:
判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,其中,在所述当前结果与所述预定结果不一致的情况下,生成所述漏洞录制指示。
3.根据权利要求1所述的漏洞处理方法,其特征在于,在所述自动化测试之前,还包括:
为每个测试步骤设置对应的预定结果和预定处理时长;
所述检测当前测试步骤是否通过断言校验的步骤,包括:
判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,以及,判断所述当前测试步骤所消耗的当前处理时长是否小于或等于所述预定处理时长,其中,
在所述当前结果与所述预定结果不一致和/或所述当前处理时长小于或等于所述预定处理时长的情况下,生成所述漏洞录制指示。
4.根据权利要求1至3中任一项所述的漏洞处理方法,其特征在于,所述根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本的步骤,包括:
根据所述漏洞录制指示,调用所述指定的数据采集入口录制所述漏洞发生过程中数据库发生的若干项数据变化信息,所述数据变化信息包括数据写入信息、数据变更信息和数据删除信息;
根据所述漏洞录制指示,获取所述用户界面在漏洞发生过程中的工作流;
根据所述工作流中每项任务的发生时间和所述若干项数据变化信息的发生时间,为所述每项任务匹配对应的数据变化信息;
按照所述每项任务在所述工作流中的顺序,将其对应的数据变化信息的源代码进行组合,生成所述用户界面运行脚本。
5.根据权利要求4所述的漏洞处理方法,其特征在于,在所述根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本的步骤之前,还包括:
在所述当前测试步骤未能通过所述断言校验的情况下,获取所述自动化测试的类型、所述当前测试步骤的类型或所述当前测试步骤所属的应用的类型;
在接口集合中,选择所述自动化测试的类型对应的接口、所述当前测试步骤的类型对应的接口或所述应用的类型对应的接口作为所述指定的数据采集入口。
6.根据权利要求4所述的漏洞处理方法,其特征在于,所述漏洞录制指示包括录制时间间隔和录制对象,则
在所述根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本的步骤之前,还包括:
在接口集合中选择可调用时间大于或等于所述录制时间间隔的若干个第一接口;
在所述若干个第一接口中选择录制权限包括所述录制对象的第二接口,作为所述指定的数据采集入口。
7.一种漏洞处理装置,其特征在于,包括:
断言校验检测单元,用于在自动化测试过程中,检测当前测试步骤是否通过断言校验;
指示生成单元,用于在所述当前测试步骤未能通过所述断言校验的情况下,生成漏洞录制指示;
脚本录制单元,用于根据所述漏洞录制指示,调用指定的数据采集入口录制漏洞发生过程中的用户界面运行脚本;
漏洞回放单元,用于根据所述用户界面运行脚本,回放所述用户界面运行脚本对应的用户界面上的漏洞发生过程。
8.根据权利要求7所述的漏洞处理装置,其特征在于,还包括:
第一设置单元,用于在所述自动化测试之前,为每个测试步骤设置对应的预定结果;
所述断言校验检测单元用于:
判断所述当前测试步骤得到的当前结果是否与所述预定结果一致,其中,在所述当前结果与所述预定结果不一致的情况下,生成所述漏洞录制指示。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述权利要求1至5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至5中任一项所述的方法流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910525172.3A CN110399725A (zh) | 2019-06-18 | 2019-06-18 | 漏洞处理方法及装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910525172.3A CN110399725A (zh) | 2019-06-18 | 2019-06-18 | 漏洞处理方法及装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110399725A true CN110399725A (zh) | 2019-11-01 |
Family
ID=68323199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910525172.3A Pending CN110399725A (zh) | 2019-06-18 | 2019-06-18 | 漏洞处理方法及装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399725A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738094A (zh) * | 2020-12-29 | 2021-04-30 | 国网山东省电力公司滨州供电公司 | 可扩展的网络安全漏洞监测方法、系统、终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006087780A1 (ja) * | 2005-02-17 | 2006-08-24 | Fujitsu Limited | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
CN104220992A (zh) * | 2012-03-29 | 2014-12-17 | 英特尔公司 | 用于确定软件的正确的执行的系统和方法 |
CN105574416A (zh) * | 2015-12-16 | 2016-05-11 | 北京神州绿盟信息安全科技股份有限公司 | 一种浏览器漏洞检测方法及装置 |
CN105631341A (zh) * | 2015-12-18 | 2016-06-01 | 北京奇虎科技有限公司 | 一种漏洞盲测方法及装置 |
CN106844211A (zh) * | 2017-01-22 | 2017-06-13 | 广东小天才科技有限公司 | 一种软件测试方法、装置及系统 |
CN109815118A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 数据库管理方法及装置、电子设备和计算机可读存储介质 |
-
2019
- 2019-06-18 CN CN201910525172.3A patent/CN110399725A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006087780A1 (ja) * | 2005-02-17 | 2006-08-24 | Fujitsu Limited | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 |
CN104220992A (zh) * | 2012-03-29 | 2014-12-17 | 英特尔公司 | 用于确定软件的正确的执行的系统和方法 |
CN105574416A (zh) * | 2015-12-16 | 2016-05-11 | 北京神州绿盟信息安全科技股份有限公司 | 一种浏览器漏洞检测方法及装置 |
CN105631341A (zh) * | 2015-12-18 | 2016-06-01 | 北京奇虎科技有限公司 | 一种漏洞盲测方法及装置 |
CN106844211A (zh) * | 2017-01-22 | 2017-06-13 | 广东小天才科技有限公司 | 一种软件测试方法、装置及系统 |
CN109815118A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 数据库管理方法及装置、电子设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
黄超;李毅;麻荣宽;马建勋;: "网页漏洞挖掘系统设计", 信息网络安全, no. 09 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738094A (zh) * | 2020-12-29 | 2021-04-30 | 国网山东省电力公司滨州供电公司 | 可扩展的网络安全漏洞监测方法、系统、终端及存储介质 |
CN112738094B (zh) * | 2020-12-29 | 2022-10-25 | 国网山东省电力公司滨州供电公司 | 可扩展的网络安全漏洞监测方法、系统、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522734B (zh) | 软件功能测试方法、装置、电子设备及存储介质 | |
CN109360550A (zh) | 语音交互系统的测试方法、装置、设备和存储介质 | |
CN109885474A (zh) | 测试用例编辑方法及装置、终端和计算机可读存储介质 | |
CN109542410A (zh) | 规则引擎系统、方法、设备及存储介质 | |
CN110175012A (zh) | 技能推荐方法、装置、设备及计算机可读存储介质 | |
CN102915493A (zh) | 信息处理装置和方法 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN110377471A (zh) | 接口校验数据的生成方法、装置、存储介质及电子设备 | |
CN107688533A (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN104424352B (zh) | 向用户终端提供代理服务的系统和方法 | |
CN109032929A (zh) | 一种程序日志记录获取方法、装置及电子设备 | |
CN106201857A (zh) | 测试用例的选取方法及装置 | |
CN109473121A (zh) | 语音合成质量测试方法及装置 | |
CN107832228A (zh) | 一种测试用例约简方法、装置、设备及存储介质 | |
CN108847948B (zh) | 活动群的创建方法及装置、介质和计算设备 | |
CN110399725A (zh) | 漏洞处理方法及装置、电子设备和计算机可读存储介质 | |
CN112364222B (zh) | 一种用户年龄的区域画像方法、计算机设备及存储介质 | |
CN110209582A (zh) | 代码覆盖率的统计方法及装置、电子设备、存储介质 | |
CN109508294A (zh) | 一种文件自精简特性测试方法及装置 | |
CN109710532A (zh) | 一种测试用例的管理方法、装置及电子设备 | |
Newman et al. | Bringing the field into the lab: supporting capture and replay of contextual data for the design of context-aware applications | |
CN109815118A (zh) | 数据库管理方法及装置、电子设备和计算机可读存储介质 | |
CN110737900A (zh) | 网页功能测试方法及装置、服务器和计算机可读存储介质 | |
US8140318B2 (en) | Method and system for generating application simulations | |
CN110535863A (zh) | 一种车联网通信仿真方法、系统及平台和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191101 |
|
WD01 | Invention patent application deemed withdrawn after publication |