CN115391230A - 一种测试脚本生成、渗透测试方法、装置、设备及介质 - Google Patents

一种测试脚本生成、渗透测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN115391230A
CN115391230A CN202211177481.4A CN202211177481A CN115391230A CN 115391230 A CN115391230 A CN 115391230A CN 202211177481 A CN202211177481 A CN 202211177481A CN 115391230 A CN115391230 A CN 115391230A
Authority
CN
China
Prior art keywords
target
vulnerability
tested
test
test script
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
Application number
CN202211177481.4A
Other languages
English (en)
Inventor
张国梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202211177481.4A priority Critical patent/CN115391230A/zh
Publication of CN115391230A publication Critical patent/CN115391230A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

本申请涉及网络安全技术领域,尤其涉及一种测试脚本生成、渗透测试方法、装置、设备及介质。在生成测试脚本时,根据外部漏洞监测平台发送的漏洞利用函数、漏洞利用函数对应的漏洞的第一标识信息及存在漏洞的编写语言类型,在预先保存的该编写语言类型的第一目标测试脚本模板中的预设位置写入漏洞利用函数,从而得到该编写语言类型的该第一标识信息的漏洞的测试脚本并保存,减少了人为因素对测试脚本编写的影响,并且针对同一漏洞使用同一测试脚本进行测试,避免了渗透测试团队中测试人员测试水平参差不齐,有效提高了渗透测试的测试质量。

Description

一种测试脚本生成、渗透测试方法、装置、设备及介质
技术领域
本申请涉及网络安全技术领域,尤其涉及一种测试脚本生成、渗透测试方法、装置、设备及介质。
背景技术
当下是互联网信息时代,网络无处不在,互联网在给我们带来便利的同时,也会给我们带来危害,例如,一些人为了个人私利利用网络协议、网络系统漏洞等对政府、企业、学校、甚至个人的计算机系统进行攻击。
网络攻击所带来的后果是相当严重的,渗透测试能够对信息系统的安全进行可靠的评估,通过对目标系统漏洞的检测以及对目标系统安全设置中存在的不安全因素进行排查,能够有效的预防和保护目标系统。但是,目前的渗透测试普遍存在技术门槛过高、渗透周期过长、效率过低等问题,渗透测试受人为因素的影响较大,目前测试人员是根据自身的经验编写测试脚本进行渗透测试的,一般情况下经验越丰富的测试人员能够发现或挖掘的漏洞越多,经验较少的测试人员发现或挖掘的漏洞相对较少,并且由于每个测试人员的技术擅长点不同,不同测试人员测试同一套系统或应用程序最终发现的漏洞类型也会存在较大差异,所以现阶段传统的渗透测试技术已经不能满足网络安全风险排查的需求。
发明内容
本申请实施提供一种测试脚本生成、渗透测试方法、装置、设备及介质,用以解决现有技术中渗透测试团队中测试人员测试水平参差不齐,而影响渗透测试质量的问题。
本申请实施例提供了一种测试脚本生成方法,所述方法包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
进一步地,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
进一步地,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
本申请实施例还提供了一种基于上述测试脚本生成方法的渗透测试方法,所述方法包括:
接收测试指令,其中所述测试指令中携带待测试目标的标识;
根据所述标识,获取所述待测试目标;
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
进一步地,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
进一步地,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
进一步地,所述方法还包括:
若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
进一步地,所述方法还包括:
查找所述待测试目标存在的漏洞对应的测试报告,并输出。
进一步地,所述方法还包括:
若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
本申请实施例还提供了一种测试脚本生成装置,所述装置包括:
接收模块,用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
查找模块,用于在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
生成模块,用于将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
进一步地,所述接收模块,具体用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述查找模块,具体用于在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
进一步地,所述接收模块,具体用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述查找模块,具体用于在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
本申请实施例还提供了一种基于上述测试脚本生成装置的渗透测试装置,所述装置包括:
接收模块,用于接收测试指令,其中所述测试指令中携带待测试目标的标识;
获取模块,用于根据所述标识,获取所述待测试目标;
确定模块,用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
测试模块,用于采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
进一步地,所述确定模块,具体用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述测试模块,具体用于采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
进一步地,所述确定模块,具体用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述测试模块,具体用于采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
进一步地,所述测试模块,还用于若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
进一步地,所述装置还包括:
输出模块,用于查找所述待测试目标存在的漏洞对应的测试报告,并输出。
进一步地,所述获取模块,还用于若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
所述输出模块,还用于在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
本申请实施例还提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一项所述测试脚本生成方法和上述任一项所述渗透测试方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述测试脚本生成方法和上述任一项所述渗透测试方法的步骤。
本申请实施例还提供了一种计算机程序产品,其计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述任一项所述测试脚本生成方法和上述任一项所述渗透测试方法的步骤。
在本申请实施例中,若接收到外部漏洞监测平台发送的漏洞利用函数、该漏洞利用函数对应的漏洞的第一标识信息及存在该漏洞的编写语言类型,在测试脚本模板中,查找该编写语言类型的第一目标测试脚本模板,将接收到的漏洞利用函数写入到该第一目标测试脚本模板中的预设位置,得到针对该编写语言类型的该第一标识信息的漏洞的测试脚本并保存。由于在本申请实施例中,在生成测试脚本时,根据外部漏洞监测平台发送的漏洞利用函数、漏洞利用函数对应的漏洞的第一标识信息及存在漏洞的编写语言类型,在预先保存的该编写语言类型的第一目标测试脚本模板中的预设位置写入漏洞利用函数,从而得到该编写语言类型的该第一标识信息的漏洞的测试脚本并保存,减少了人为因素对测试脚本编写的影响,并且针对同一漏洞使用同一测试脚本进行测试,避免了渗透测试团队中测试人员测试水平参差不齐,有效提高了渗透测试的测试质量。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种测试脚本生成过程示意图;
图2为本申请实施例提供的一种基于测试脚本生成方法的渗透测试过程示意图;
图3为本申请实施例提供的一种渗透测试过程另一示意图;
图4为本申请实施例提供的一种测试脚本生成装置结构示意图;
图5为本申请实施例提供的一种渗透测试装置结构示意图;
图6为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图,对本申请的实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
为了避免因测试人员测试水平参差不齐,而影响渗透测试质量的问题,本申请提供了一种测试脚本生成方法、装置、设备及介质。
在本申请实施例中,接收外部漏洞监测平台发送的漏洞利用函数、该漏洞利用函数对应的漏洞的第一标识信息及存在该漏洞的编写语言类型,在测试脚本模板中,查找该编写语言类型的第一目标测试脚本模板,将接收到的漏洞利用函数写入到该第一目标测试脚本模板中的预设位置,得到针对该编写语言类型的该第一标识信息的漏洞的测试脚本并保存。
实施例1:
图1为本申请实施例提供的一种测试脚本生成过程示意图,该过程包括以下步骤:
S101:接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型。
本申请实施例提供的测试脚本生成方法应用于电子设备,该电子设备可以是服务器、PC等。
为了避免因测试人员测试水平参差不齐,而影响渗透测试质量的问题,在本申请实施例中,外部漏洞监测平台当获取到漏洞利用函数后,可以将该漏洞利用函数发送给电子设备,具体的电子设备可以接收外部漏洞监测平台发送的漏洞利用函数、该漏洞利用函数对应的漏洞的第一标识信息及存在该漏洞的编写语言类型。其中,外部漏洞监测平台可以是各大安全厂商的漏洞预警平台,例如GitHub的漏洞预警平台;漏洞利用函数可以是针对发现的某一个漏洞已经公开的漏洞利用函数;漏洞利用函数对应的漏洞的第一标识信息可以是漏洞名称,也可以是该漏洞的编码,还可以是其他可以唯一代表该漏洞的信息。
在本申请实施例中,电子设备可以通过调用外部漏洞监测平台所提供的公共接口,实时的接收外部漏洞监测平台发送的最近披露或者是时效性较短的各编写语言类型的新漏洞。
S102:在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板。
在本发明实施例中为了生成每个漏洞对应的测试脚本,并且为了使生成的测试脚本可以适用于不同类型的编写语言的测试目标,在本申请实施例中,针对每一种编写语言类型都预先保存了对应的测试脚本模板。在接收到外部漏洞监测平台发送的漏洞的编写语言类型之后,可以在测试脚本模板中,查找该编写语言类型对应的第一目标测试脚本模板。在本申请实施例中,可以针对每种编写语言类型预先保存对应的测试脚本模板,该测试脚本模板中包括使用该编写语言类型编写的测试代码,其中测试代码中可以包括开始函数,漏洞利用函数和结束函数,为了方便将接收到的漏洞利用函数写入到测试脚本模板中,测试脚本模板中包括的漏洞利用函数可以是空函数。当然测试脚本模板中还可以包括其他关于漏洞的信息,本领域的技术人员可以根据需求进行配置。
S103:将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
查找到了该编写语言类型对应的第一目标测试脚本模板之后,可以将接收到的漏洞利用函数写入到该第一目标测试脚本模板中的预设位置,该预设位置可以是测试脚本模板中预留的用于填写漏洞利用函数的位置。
将漏洞利用函数写入到第一目标测试脚本模板中的预设位置之后,也就可以得到该编写语言类型的该第一标识信息的漏洞的测试脚本。在本申请实施例中,可以对得到的该测试脚本进行标记,具体的,可以使用第一标识信息标记该测试脚本适用的漏洞,也可以使用编写语言类型标记该测试脚本使用的编写语言类型,例如,可以将测试脚本1标记为“测试脚本1-漏洞A-C语言”,即表示测试脚本1适用于编写语言类型为C语言的测试目标,该测试脚本1可以用于对漏洞A的检测。
在本申请实施例中,可以将得到的测试脚本进行保存,具体的,可以将得到的测试脚本保存在漏洞知识库中,以便于后续基于生成的测试脚本进行渗透测试。其中,漏洞知识库是用于知识管理的一种特殊的数据库,便于进行知识的采集、整理以及提取。
由于在本申请实施例中,在生成测试脚本时,接收外部漏洞监测平台发送的漏洞利用函数、漏洞利用函数对应的漏洞的第一标识信息及存在漏洞的编写语言类型,在预先保存的该编写语言类型的第一目标测试脚本模板中的预设位置写入漏洞利用函数,从而得到该编写语言类型的该第一标识信息的漏洞的测试脚本并保存,减少了人为因素对测试脚本编写的影响,并且针对同一漏洞使用同一测试脚本进行测试,避免了渗透测试团队中测试人员测试水平参差不齐,有效提高了渗透测试的测试质量。
实施例2:
为了增强生成的测试脚本的适用性,在上述实施例的基础上,在本申请实施例中,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
由于目前存在多种系统类型,例如微软视窗操作系统(Micorsoft Windows)、Linux操作系统,并且一般情况下每个操作系统之间的测试脚本不可以互用,因此,为了增强生成的测试脚本的适用性,在本申请实施例中,可以接收外部漏洞监测平台发送的漏洞利用函数、该漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在该漏洞的编写语言类型。在查找测试脚本模板时,可以从预先保存的测试脚本模板中,查找该系统类型的该编写语言类型的第一目标测试脚本模板。
具体的,假设接收到了外部漏洞监测平台发送的漏洞利用函数A、漏洞利用函数A对应的第一标识信息为漏洞B、系统类型为Linux操作系统,该漏洞的编写语言类型为C语言,在查找测试脚本模板时,可以先查找Linux操作系统对应的每个测试脚本,并在查找到的每个测试脚本中查找C语言对应的测试脚本,将查找到的每个测试脚本确定为第一目标测试脚本模板。
实施例3:
为了进一步增强生成的测试脚本的适用性,在上述各实施例的基础上,在本申请实施例中,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
为了进一步增强生成的测试脚本的适用性,在本申请实施例中,可以接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型。
在查找测试脚本模板时,可以从预先保存的测试脚本模板中,查找该编写框架类型的该编写语言类型的第一目标测试脚本模板。
具体的,假设接收到了外部漏洞监测平台发送的漏洞利用函数A、漏洞利用函数A对应的第一标识信息为漏洞B、存在该漏洞的编写语言类型为C语言,编写框架为框架A,在查找测试脚本模板时,可以先查找框架A对应的每个测试脚本,并在查找到的每个测试脚本中查找C语言对应的测试脚本,将查找到的每个测试脚本确定为第一目标测试脚本模板。
实施例4:
为了提高渗透测试测试的质量,在本申请实施例中,提供了一种基于上述各实施例所述的测试脚本生成方法的渗透测试方法,图2为本申请实施例提供的一种基于测试脚本生成方法的渗透测试过程示意图,如图2所示,该过程包括以下步骤:
S201:接收测试指令,其中所述测试指令中携带待测试目标的标识;根据所述标识,获取所述待测试目标。
本申请实施例提供的渗透测试方法应用于电子设备,该电子设备可以是服务器、PC等。
渗透测试是一项在电子设备上进行的授权模拟攻击,模拟攻击者对待测试目标发起攻击,从而发现待测试目标的脆弱点以及存在的安全隐患,在本申请实施例中电子设备可以接收测试指令,该测试指令可以是电子设备的使用者发送的,该测试指令中携带有待测试目标的标识,其中,该标识可以是唯一标识待测试目标的信息,如果待测试目标为网站,则该标识可以是网站的网址,如果待测试目标为应用程序,则该标识可以是应用程序的名字,也可以是应用程序在电子设备中被存储的位置信息。
在接收到携带有待测试目标的标识的测试指令之后,可以根据该标识,获取待测试目标。具体的,如果该标识为网站的网址,电子设备可以根据接收到的该网址,调用搜索引擎,在搜索引擎中查找该网址对应的网站;如果该标识为应用程序在电子设备中被安装的位置信息,电子设备可以根据该位置信息查找该应用程序对应的程序包。
S202:对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型。
在获取到待测试目标之后,可以对待测试目标进行分析,确定该待测试目标的目标编写语言。
具体的,可基于预先建立的指纹库对待测试目标进行资产识别,以确定待测试目标的目标编写语言。其中,指纹库中汇总了不同编写语言、系统、框架对应的强特征标识,指纹库中的信息储备量越大,对待测试目标进行分析的结果的准确率也就越高,指纹库中存储的信息的收集主要来源于两方面,一方面是汇总互联网上其它相关工具中的内置指纹库中存储的信息,另一方面可以收集不同编写语言、系统、框架的官方文档或者操作手册等信息。在本申请实施例中,可以获取编写待测试目标的程序代码中的部分代码,根据获取到的代码中包含的关键词,在指纹库中查找该关键词对应的标识,从而确定待测试目标的目标编写语言。
S203:采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
确定了待测试目标的目标编写语言之后,可以在已经生成测试脚本中,查找该目标编写语言类型对应的每个测试脚本,并采用查找到的每个测试脚本对待测试目标进行测试,确定该待测试目标存在的漏洞。基于已经查找到的测试脚本对待测试目标进行测试的过程为现有技术,在本申请实施例中不再赘述。
由于在本申请实施例中,根据接收到的测试指令中携带待测试目标的标识,根据该标识,确定待测试目标的目标编写语言类型,并从预先生成的每个测试脚本中,查找该目标编写语言类型对应的测试脚本,基于该测试脚本对待测试目标进行测试,确定待测试目标存在的漏洞,实现了自动化渗透测试,与传统的依靠人工进行渗透测试的方式相比,极大的提高了渗透测试的效率,并且减少了人为因素对渗透测试结果的影响,提高了渗透测试的质量。
实施例5:
为了进一步提高渗透测试的质量,在上述各实施例的基础上,在本申请实施例中,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
为了进一步提高渗透测试的质量,在本申请实施例中,还可以对待测试目标进行分析,确定待测试目标的目标编写语言类型以及系统类型。具体的,如果待测试目标是网站,可以查看网站的网址的HTTP报头,如果服务器是IIS,则可以确定该网站的系统类型为Micorsoft Windows,还可以调用其他识别软件的接口来确定系统类型;如果待测试目标是应用程序,可以根据待测试目标的运行文件类型,确定待测试目标系统类型,相关技术中对于区分网站和应用程序的运行系统类型的方法很多且已经进行了详细的描述,在本申请实施例中不再赘述。
确定了待测试目标的目标编写语言类型以及系统类型之后,可以查找该系统类型的该目标编写语言类型的每个漏洞对应的测试脚本,并采用每个测试脚本对待测试目标进行测试,从而确定待测试目标存在的漏洞。
实施例6:
为了进一步提高渗透测试的质量,在上述各实施例的基础上,在本申请实施例中,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
为了进一步提高渗透测试的质量,在本申请实施例中,还可以对待测试目标进行分析,确定待测试目标的目标编写语言类型以及编写框架类型。由于每种编写框架类型都存在不同的编写关键词,具体的,在本申请实施例中,可以获取待测试目标的编写代码,并对获取到的编写代码进行分析,确定该编写代码中是否包括预设的各关键词,若是,则将包含的关键词对应的框架类型确定为待测试目标的编写框架类型,在获取待测试目标的编写代码时,可以调用调试器,通过调试器调用待测试目标目录下加载的文件,从而获取待测试目标的编写代码。
确定了待测试目标的目标编写语言类型以及编写框架类型之后,可以查找该编写框架类型的该目标编写语言类型的每个漏洞对应的测试脚本,并采用每个测试脚本对待测试目标进行测试,从而确定待测试目标存在的漏洞。
实施例7:
为了进一步提高渗透测试的质量,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:
若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
为了进一步提高渗透测试的质量,电子设备的使用者如果有复测需求,还可以发送复测指令,电子设备若接收到复测指令,可以获取该复测指令中携带的复测时间,对该待测试目标进行复测,确定该待测试目标存在的漏洞。
具体的,电子设备的使用者可以在初次测试的测试报告中进行标记,指定复测时间后,发送复测指令,当达到既定的复测时间后,电子设备可以获取初次测试的测试报告中包括的漏洞,采用该漏洞对应的测试脚本对待测试目标进行复测,确定该待测试目标存在的漏洞。
实施例8:
为了方便查看待测试目标存在的漏洞,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:
查找所述待测试目标存在的漏洞对应的测试报告,并输出。
为了方便电子设备的使用者查看待测试目标存在的漏洞,在本申请实施例中可以根据待测试目标存在的漏洞查找对应的测试报告并输出,其中测试报告中可以包括漏洞利用条件、漏洞成因、漏洞影响等。
当待测试目标存在多个漏洞时,针对每个漏洞都将查找到对应的测试报告,在本申请实施例中,可以将查找到的多个测试报告合并成一个最终测试报告,也就是说,最终测试报告中包含了多个存在的漏洞对应漏洞利用条件、漏洞成因、漏洞影响。
为了进一步方便查看待测试目标存在的漏洞,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:
若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
由于检测报告篇幅限制,为了使电子设备的使用者可以一目了然的了解待测试目标存在的漏洞,一般情况下,检测报告中不会将漏洞的详细信息进行显示,在本申请实施例中,电子设备的使用者可以通过显示的检测报告,查看漏洞的更为详细的信息。当电子设备的使用者需要查看漏洞更详细的信息时,可以发送查询指令,电子设备若接收到查看漏洞详细信息的查询指令,可以获取查询指令携带的待查看项目,其中待查看项目可以是“漏洞A的漏洞影响”。
在获取到待查看项目之后,电子设备可以在预先保存的每个漏洞详细相关信息中,查找该待查看项目对应的详细相关信息并输出。
具体的,在本申请实施例中,可以超链接的方式显示漏洞的详细相关信息,电子设备在接收到用户选择的待查看项目之后,则可以认为接收到了查看漏洞详细信息的查询指令,并根据用户所选择的待查看项目在漏洞知识库中查找该待查看项目对应的详细相关信息,并以弹窗的方式输出显示。
在本申请实施例中,基于漏洞知识库自动化渗透测试出具的渗透测试报告,除了包括待测试目标存在的风险点,即待测试目标存在的漏洞,还可以包括在漏洞知识库中检索到的该漏洞的详细信息,例如漏洞利用条件、漏洞成因等,可以极大地帮助测试人员对某类漏洞进行深度分析与学习。
下面结合一个具体的实施例对渗透测试过程进行说明,图3为本申请实施例提供的一种渗透测试过程另一示意图,如图3所示,在进行渗透测试时,首先对待测试目标进行资产识别,即对待测试目标进行分析,确定待测试目标的目标编写语言类型、系统类型、编写框架等信息,根据确定的目标编写语言类型、系统类型、编写框架等信息在漏洞知识库中查找对应的测试脚本,基于确定的测试脚本对待测试目标进行测试,确定待测试目标存在的漏洞,查找该待测试目标存在的漏洞对应的测试报告并输出,若接收到查看漏洞详细信息的查询指令,获取查询指令中携带的待查看项目,并在漏洞知识库中查找该待查看项目对应的详细相关信息并输出。
实施例9:
图4为本申请实施例提供的一种测试脚本生成装置结构示意图,该装置包括:
接收模块401,用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
查找模块402,用于在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
生成模块403,用于将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
在一种可能的实施方式中,所述接收模块401,具体用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述查找模块402,具体用于在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
在一种可能的实施方式中,所述接收模块401,具体用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述查找模块402,具体用于在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
实施例10:
图5为本申请实施例提供的一种渗透测试装置结构示意图,该装置包括:
接收模块501,用于接收测试指令,其中所述测试指令中携带待测试目标的标识;
获取模块502,用于根据所述标识,获取所述待测试目标;
确定模块503,用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
测试模块504,用于采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述确定模块503,具体用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述测试模块504,具体用于采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述确定模块503,具体用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述测试模块504,具体用于采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述测试模块504,还用于若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述装置还包括:
输出模块505,用于查找所述待测试目标存在的漏洞对应的测试报告,并输出。
在一种可能的实施方式中,所述获取模块502,还用于若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
所述输出模块505,还用于在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
实施例11:
在上述实施例的基础上,本申请实施例还提供了一种电子设备,图6为本申请实施例提供的一种电子设备结构示意图,如图6所示,包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
存储器603中存储有计算机程序,当程序被处理器601执行时,使得处理器601执行如下步骤:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
在一种可能的实施方式中,所述处理器601,还用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
在一种可能的实施方式中,所述处理器601,还用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
处理器601还可以执行如下步骤:
接收测试指令,其中所述测试指令中携带待测试目标的标识;
根据所述标识,获取所述待测试目标;
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述处理器601,还用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述处理器601,还用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述处理器601,还用于若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述处理器601,还用于查找所述待测试目标存在的漏洞对应的测试报告,并输出。
在一种可能的实施方式中,所述处理器601,还用于若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-VolatileMemory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例12:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有可由处理器执行的计算机程序,当程序在处理器上运行时,使得处理器执行时实现如下步骤:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
在一种可能的实施方式中,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
在一种可能的实施方式中,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
处理器还可以执行时实现如下步骤:
接收测试指令,其中所述测试指令中携带待测试目标的标识;
根据所述标识,获取所述待测试目标;
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述方法还包括:
若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
在一种可能的实施方式中,所述方法还包括:
查找所述待测试目标存在的漏洞对应的测试报告,并输出。
在一种可能的实施方式中,所述方法还包括:
若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
实施例13:
本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述应用于电子设备的任一方法实施例所述的测试脚本生成方法和渗透测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
由于在本申请实施例中,在生成测试脚本时,根据外部漏洞监测平台发送的漏洞利用函数、漏洞利用函数对应的漏洞的第一标识信息及存在漏洞的编写语言类型,在预先保存的该编写语言类型的第一目标测试脚本模板中的预设位置写入漏洞利用函数,从而得到该编写语言类型的该第一标识信息的漏洞的测试脚本并保存,减少了人为因素对测试脚本编写的影响,并且针对同一漏洞使用同一测试脚本进行测试,避免了渗透测试团队中测试人员测试水平参差不齐,有效提高了渗透测试的测试质量。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (21)

1.一种测试脚本生成方法,其特征在于,所述方法包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
2.根据权利要求1所述的方法,其特征在于,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
3.根据权利要求1或2所述的方法,其特征在于,所述接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型包括:
接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板包括:
在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
4.一种基于权利要求1-3任一项所述的测试脚本生成方法的渗透测试方法,其特征在于,所述方法包括:
接收测试指令,其中所述测试指令中携带待测试目标的标识;
根据所述标识,获取所述待测试目标;
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
5.根据权利要求4所述的方法,其特征在于,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
6.根据权利要求4或5所述的方法,其特征在于,所述对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型包括:
对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞包括:
采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
查找所述待测试目标存在的漏洞对应的测试报告,并输出。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
10.一种测试脚本生成装置,其特征在于,所述装置包括:
接收模块,用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息及存在所述漏洞的编写语言类型;
查找模块,用于在测试脚本模板中,查找所述编写语言类型的第一目标测试脚本模板;
生成模块,用于将接收到的所述漏洞利用函数写入到所述第一目标测试脚本模板中的预设位置,得到针对所述编写语言类型的所述第一标识信息的漏洞的测试脚本并保存。
11.根据权利要求10所述的装置,其特征在于,所述接收模块,具体用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、系统类型及存在所述漏洞的编写语言类型;
所述查找模块,具体用于在测试脚本模板中,查找所述系统类型的所述编写语言类型的第一目标测试脚本模板。
12.根据权利要求10或11所述的装置,其特征在于,所述接收模块,具体用于接收外部漏洞监测平台发送的漏洞利用函数、所述漏洞利用函数对应的漏洞的第一标识信息、存在所述漏洞的编写语言类型及编写框架类型;
所述查找模块,具体用于在测试脚本模板中,查找所述编写框架类型的所述编写语言类型的第一目标测试脚本模板。
13.一种基于权利要求10-12任一项所述的测试脚本生成装置的渗透测试装置,其特征在于,所述装置包括:
接收模块,用于接收测试指令,其中所述测试指令中携带待测试目标的标识;
获取模块,用于根据所述标识,获取所述待测试目标;
确定模块,用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型;
测试模块,用于采用所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
14.根据权利要求13所述的装置,其特征在于,所述确定模块,具体用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及系统类型;
所述测试模块,具体用于采用所述系统类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
15.根据权利要求13或14所述的装置,其特征在于,所述确定模块,具体用于对所述待测试目标进行分析,确定所述待测试目标的目标编写语言类型以及编写框架类型;
所述测试模块,具体用于采用所述编写框架类型的所述目标编写语言类型对应的测试脚本对所述待测试目标进行测试,确定所述待测试目标存在的漏洞。
16.根据权利要求13所述的装置,其特征在于,所述测试模块,还用于若接收到复测指令,获取所述复测指令中携带的复测时间,在所述复测时间,对所述待测试目标进行复测,确定所述待测试目标存在的漏洞。
17.根据权利要求13所述的装置,其特征在于,所述装置还包括:
输出模块,用于查找所述待测试目标存在的漏洞对应的测试报告,并输出。
18.根据权利要求17所述的装置,其特征在于,所述获取模块,还用于若接收到查看漏洞详细信息的查询指令,获取所述查询指令中携带的待查看项目;
所述输出模块,还用于在预先保存的每个漏洞详细相关信息中,查找所述待查看项目对应的详细相关信息并输出。
19.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述权利要求1-3任一项所述的测试脚本生成方法和上述权利要求4-9任一项所述的渗透测试方法的步骤。
20.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述权利要求1-3任一项所述的测试脚本生成方法和上述权利要求4-9任一项所述的渗透测试方法的步骤。
21.一种计算机程序产品,其特征在于,其计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述权利要求1-3任一项所述的测试脚本生成方法和上述权利要求4-9任一项所述的渗透测试方法的步骤。
CN202211177481.4A 2022-09-26 2022-09-26 一种测试脚本生成、渗透测试方法、装置、设备及介质 Pending CN115391230A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211177481.4A CN115391230A (zh) 2022-09-26 2022-09-26 一种测试脚本生成、渗透测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211177481.4A CN115391230A (zh) 2022-09-26 2022-09-26 一种测试脚本生成、渗透测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115391230A true CN115391230A (zh) 2022-11-25

Family

ID=84127813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211177481.4A Pending CN115391230A (zh) 2022-09-26 2022-09-26 一种测试脚本生成、渗透测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115391230A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117424843A (zh) * 2023-12-18 2024-01-19 北京华峰测控技术股份有限公司 一种管理方法、装置及ate测试系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117424843A (zh) * 2023-12-18 2024-01-19 北京华峰测控技术股份有限公司 一种管理方法、装置及ate测试系统
CN117424843B (zh) * 2023-12-18 2024-02-13 北京华峰测控技术股份有限公司 一种管理方法、装置及ate测试系统

Similar Documents

Publication Publication Date Title
Walden et al. Predicting vulnerable components: Software metrics vs text mining
CN107657177B (zh) 一种漏洞检测方法及装置
CA2777434C (en) Verifying application security vulnerabilities
CN104537308B (zh) 提供应用安全审计功能的系统及方法
CN108459954B (zh) 应用程序漏洞检测方法和装置
CN110929264B (zh) 漏洞检测方法、装置、电子设备及可读存储介质
CN110474900B (zh) 一种游戏协议测试方法及装置
US8572747B2 (en) Policy-driven detection and verification of methods such as sanitizers and validators
CN110866258B (zh) 快速定位漏洞方法、电子装置及存储介质
CN112434305B (zh) 基于补丁的漏洞检测方法、装置、存储介质和电子设备
CN113158197B (zh) 一种基于主动iast的sql注入漏洞检测方法、系统
CN115827610A (zh) 一种有效负荷的检测方法及装置
CN110287700B (zh) 一种iOS应用安全分析方法及装置
CN113114680A (zh) 用于文件上传漏洞的检测方法和检测装置
CN116383833A (zh) 软件程序代码的测试方法及其装置、电子设备、存储介质
CN116932406A (zh) 组件检测方法、装置、终端设备以及存储介质
CN115391230A (zh) 一种测试脚本生成、渗透测试方法、装置、设备及介质
CN110874475A (zh) 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质
CN113806736B (zh) 一种基于拟态入侵的漏洞检测方法、系统及其存储介质
RU168346U1 (ru) Устройство выявления уязвимостей
CN104239801A (zh) 0day漏洞的识别方法以及装置
CN104008336A (zh) 一种ShellCode检测方法和装置
CN111444093B (zh) 项目开发过程质量的确定方法、装置、计算机设备
CN111934949A (zh) 一种基于数据库注入测试的安全测试系统
CN115935359B (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