CN117806966A - 一种越权测试用例生成方法及系统 - Google Patents
一种越权测试用例生成方法及系统 Download PDFInfo
- Publication number
- CN117806966A CN117806966A CN202311865527.6A CN202311865527A CN117806966A CN 117806966 A CN117806966 A CN 117806966A CN 202311865527 A CN202311865527 A CN 202311865527A CN 117806966 A CN117806966 A CN 117806966A
- Authority
- CN
- China
- Prior art keywords
- tested
- override
- test case
- message
- test
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 266
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000004044 response Effects 0.000 claims abstract description 100
- 239000013598 vector Substances 0.000 claims abstract description 31
- 230000008030 elimination Effects 0.000 claims description 26
- 238000003379 elimination reaction Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种越权测试用例生成方法及系统,属于漏洞测试技术领域,越权测试用例生成方法包括构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;获取待测试对象的请求报文和响应报文;基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。通过预设大语言模型的推理能力并参照匹配的样本测试用例生成待测试对象的越权测试用例,使得越权测试用例对待测试对象的适应度更高保障了质量,同时实现了越权测试用例的自动生成提高了效率。
Description
技术领域
本发明涉及漏洞测试技术领域,尤其是涉及一种越权测试用例生成方法及系统。
背景技术
越权测试用例是用于测试系统权限管理的测试案例,旨在发现越权漏洞。这些测试用例设计用于模拟不同用户角色和权限级别的操作,验证系统是否能够正确地限制用户的访问和操作范围。通过执行越权测试用例,可以发现潜在的安全风险和漏洞,确保系统的安全性和数据完整性。
目前,越权测试用例的编写通常由测试人员手工编写,测试人员根据系统API的详细信息,即业务类型、API参数结构、API参数类型、API参数含义、API返回值等内容,依靠对API的全面了解对此API编写测试用例,然而,采用这种方式进行越权测试用例的编写,越权测试用例的质量与测试人员的技术能力紧密相关且由测试人员编写的效率较低,因此,如何实现既提高越权测试用例的编写效率又保障越权测试用例的质量是目前亟待解决的问题。
发明内容
为了在保障越权测试用例的质量的同时提高效率,本申请提供了一种越权测试用例生成方法及系统。
第一方面,本申请提供的一种越权测试用例生成方法,采用如下的技术方案:
一种越权测试用例生成方法,包括:
构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;
获取待测试对象的请求报文和响应报文;
基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;
将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。
通过采用上述技术方案,构建包含有若干个示例文本向量的搜索库,在需要生成待测试对象的测试用例时,先基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例,更加贴合当前待测试对象的测试需求以便供预设大语言模型参考,再将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,通过预设大语言模型的推理能力并参照匹配的样本测试用例生成待测试对象的越权测试用例,使得越权测试用例对待测试对象的适应度更高保障了质量,同时实现了越权测试用例的自动生成提高了效率。
可选的,所述构建包含有若干个示例文本向量的搜索库,具体包括:
获取样本测试用例;
从样本测试用例中提取关键信息;其中,所述关联信息包括测试对象的完整URL路径、测试对象的请求方法、请求信息中所需替换的字段以及响应信息中标识越权成功的字段;
获取与样本测试用例对应的测试对象的请求信息和响应信息;
对关键信息、测试对象的请求信息和响应信息进行拼接,得到示例文本;
对示例文本进行向量化处理,得到示例文本向量;
将示例文本向量储存至搜索库的索引结构中,以完成搜索库的构建。
通过采用上述技术方案,将提取的关键信息测试对象的请求信息和响应信息进行拼接,得到示例文本,再对示例文本进行向量化处理以构建示例文本向量,通过向量化处理能够高效地处理和存储大量的样本测试用例。同时示例文本向量化使得搜索能够基于内容的相似性进行匹配,而不仅仅是基于关键字,增强了搜索库的灵活性和准确性,能够更好地匹配出样本测试用例以满足测试需求。
可选的,获取待测试对象的请求报文和响应报文,具体包括:
实时监听网关节点的流量数据包,并对数据流量包进行分析,得到报文信息;其中,所述报文信息包括实时请求信息和实时响应信息;
对报文信息进行去冗余处理,得到去冗余报文;
搜索去冗余报文中是否存在权限标识字段,若是,则将对应的去冗余报文储存至预设数据库中;
实时获取预设数据库中的去冗余报文,以得到待测试对象的请求报文和响应报文。
通过采用上述技术方案,自动化监听监听网关节点的流量数据包,无需人工干预,通过对数据流量包进行分析,以获取实时请求信息和实时响应信息,通过去冗余处理,能够去除重复或冗余的信息,只保留关键的报文信息,搜索去冗余报文中存在权限标识字段,以筛选出具有访问权限的去冗余报文,从而实现了更加准确的找到网关节点中待测试对象,而无需对所有的报文进行处理,节约了计算资源。
可选的,所述基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例,具体包括:
对待测试对象的请求报文和响应报文进行向量化处理,得到查询目标;
计算查询目标与搜索库中每一样本测试用例的相似度,并基于相似度从搜索库中搜索出匹配的样本测试用例。
通过采用上述技术方案,对待测试对象的请求报文和响应报文进行向量化处理,能够将文本信息转化为数值向量,便于进行数学计算和比较,提高了搜索和匹配的效率和准确性。通过计算查询目标与搜索库中每一样本测试用例的相似度,基于相似度从搜索库中搜索出匹配的样本测试用例,能够自动地筛选出与待测试对象最为接近的样本测试用例便于定位相似的问题或情境,以便更加准确的生成待测试对象的测试用例。
可选的,所述将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例,具体包括:
基于匹配的样本测试用例、待测试对象的请求报文和响应报文,构建文本参数,并将文本参数输入至预设大语言模型;
所述预设大语言模型基于文本参数调用相应的推理框架,通过分析样本测试用例,以生成请求报文中所需替换的字段以及响应报文中标识越权成功的字段;
从待测试对象的请求报文中提取完整URL路径以及请求方法;
根据完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,生成一个或多个待测试对象的越权测试用例。
通过采用上述技术方案,基于匹配的样本测试用例、待测试对象的请求报文和响应报文构建文本参数,以便预设大语言模型能够充分利用已有的样本数据和经验,将文本参数输入至预设大语言模型,并基于相应的推理框架进行分析,能够利用大语言模型的学习和推理能力,生成更为准确的请求报文中所需替换的字段以及响应报文中标识越权成功的字,再从待测试对象的请求报文中提取完整URL路径以及请求方法,即能够生成一个或多个适用于待测试对象的越权测试用例。
可选的,还包括对待测试对象的越权测试用例的校验步骤,所述校验步骤包括:
提取越权测试用例中的关键信息;
判断关联信息的字段是否完整,若完整,则将越权测试用例转换为JSON格式用例;
判断JSON格式用例中每个字段对应的值类型是否正确,若正确,则越权测试用例校验通过。
通过采用上述技术方案,提取越权测试用例中的关键信息,并将关联信息字段完整的越权测试用例转换为JSON格式用例,避免对信息缺失的越权测试用例进行JSON格式用例的转换,再通过对JSON格式用例中每个字段对应的值类型是否正确的校验,以便提高在利用JSON格式用例对待测试对象进行测试时的稳定性。
可选的,还包括利用越权测试用例进行越权测试的步骤,所述测试步骤包括:
对越权测试用例进行解析,得到完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段;
基于请求报文中所需替换的字段、完整URL路径以及请求方法,构造测试请求报文;
将所述测试请求报文发送至待测试对象,并接收测试响应报文;其中,所述测试响应报文由待测试对象根据测试请求报文返回;
判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,若存在,则输出待测试对象存在越权漏洞的测试结果;若不存在,输出待测试对象无风险的测试结果。
通过采用上述技术方案,通过对越权测试用例进行解析,得到完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,再基于请求报文中所需替换的字段、完整URL路径以及请求方法构造测试请求报文,以确保测试请求报文的准确性和完整性,将测试请求报文发送至待测试对象并接收测试响应报文,能够模拟实际请求场景,通过待测试对象返回的测试响应报文,判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,以便准确输出待测试对象的安全风险,实现了越权漏洞的自动化测试。
第二方面,本申请提供一种越权测试用例生成系统,采用如下技术方案:
一种越权测试用例生成系统,包括:
样本库构建单元,用于构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;
报文获取单元,用于获取待测试对象的请求报文和响应报文;
匹配单元,用于基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;
测试用例生成单元,用于将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。
第三方面,本申请提供一种计算机设备,采用如下技术方案:
一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:
一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
附图说明
图1是本申请其中一实施例越权测试用例生成方法的流程图。
图2是本申请其中一实施例搜索库构建方法的流程图。
图3是本申请其中一实施例获取待测试对象的方法流程图。
图4是本申请其中一实施例生输出越权测试用例方法流程图。
图5是本申请其中一实施例越权测试的方法流程图。
图6是本申请其中一实施例越权测试用例生成系统的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例公开一种越权测试用例生成方法。参照图1,一种越权测试用例生成方法,包括:
步骤S101:构建包含有若干个示例文本向量的搜索库;
其中,每个示例文本向量均包括请求信息、响应信息以及样本测试用例;
具体地,搜索库的类型可以是向量数据库(如Facebook AI Similarity Search,Faiss),也可以是关系型数据库(如:Mysql)、非关系型数据库(如:Mongodb)或搜索引擎(如:Elasticsearch),在此不做具体限定。
步骤S102:获取待测试对象的请求报文和响应报文;
步骤S103:基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;
步骤S104:将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。
上述实施方式中,构建包含有若干个示例文本向量的搜索库,在需要生成待测试对象的测试用例时,先基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例,更加贴合当前待测试对象的测试需求以便供预设大语言模型参考,再将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,通过预设大语言模型的推理能力并参照匹配的样本测试用例生成待测试对象的越权测试用例,使得越权测试用例对待测试对象的适应度更高保障了质量,同时实现了越权测试用例的自动生成提高了效率。
参照图2,作为步骤S101的一种实施方式,步骤S101具体包括:
步骤S1011:获取样本测试用例;
其中,样本测试用例可以由测试人员进行编写,并且样本测试用例应当是已经过评审且测试效果良好的测试用例。可从历史测试结果、测试覆盖率以及测试用例的复杂度对测试用例的测试效果进行评估,其中,历史测试结果以衡量测视用例的准确率;分析测试覆盖率越高即能够改更加全面检查系统的各项功能和边界条件;测试用例的复杂度用于权衡复杂度和有效性,选择性价比较高的测试用例,从以上几个维度选择测试效果良好的测试用例作为样本测试用例即可。
步骤S1012:从样本测试用例中提取关键信息;
其中,关联信息包括测试对象的完整URL路径、测试对象的请求方法、请求信息中所需替换的字段以及响应信息中标识越权成功的字段;
应当理解,测试对象可以是系统或应用程序等,这些系统或应用程序通过API(Application Programming Interface)接口传递信息,API接口即基于HTTP协议对外提供业务服务的应用程序接口。
具体地,完整URL(Uniform Resource Locator)路径,即统一资源定位符,用于指定如何访问API,URL由协议类型、域名、端口号(可选)、路径(可选)和查询参数(可选)等部分组成。测试对象的请求方法包括GET、POST、PUT、DELETE等。GET用于请求从指定的资源传输的数据; POST用于向指定的资源提交数据,请求服务器接收并处理数据; PUT用于向指定的资源提供数据,并覆盖现有的数据。 DELETE用于请求服务器删除指定的资源。
还应当理解,为了验证测试对象是否存在越权漏洞,通常会基于一个正常的HTTP请求报文,修改其中的一个或多个用户标识字段,并保留鉴权字段。请求信息中所需替换的字段即具有一定权限限定的标识字段,响应信息中标识越权成功的字段即改变所需替换的字段进行请求后仍然能够获取到相应信息的字段。
步骤S1013:获取与样本测试用例对应的测试对象的请求信息和响应信息;
应当理解,与样本测试用例对应的测试对象的请求信息和响应信息是指未进行修改替换的原始请求信息和原始响应信息。
步骤S1014:对关键信息、测试对象的请求信息和响应信息进行拼接,得到示例文本;
步骤S1015:对示例文本进行向量化处理,得到示例文本向量;
具体地,向量化处理是一种将文本数据转换为数值向量的技术。在本实施例中,向量化处理将示例文本中的每个单词、符号或指定字段映射到一个唯一的整数,再将这些整数连接成示例文本向量,通过示例文本向量即可以表示文本数据的特征。
步骤S1016:将示例文本向量储存至搜索库的索引结构中,以完成搜索库的构建。
上述实施方式中,将提取的关键信息测试对象的请求信息和响应信息进行拼接,得到示例文本,再对示例文本进行向量化处理以构建示例文本向量,通过向量化处理能够高效地处理和存储大量的样本测试用例。同时示例文本向量化使得搜索能够基于内容的相似性进行匹配,而不仅仅是基于关键字,增强了搜索库的灵活性和准确性,能够更好地匹配出样本测试用例以满足测试需求。
参照图3,作为步骤S102的一种实施方式,步骤S102具体包括:
步骤S1021:实时监听网关节点的流量数据包,并对数据流量包进行分析,得到报文信息;
其中,报文信息包括实时请求信息和实时响应信息。
具体地,在需要测试的系统网关节点部署第三方流量监控软件,如Goreplay软件,由第三方流量监控软件实时监听网关节点的流量数据包。
步骤S1022:对报文信息进行去冗余处理,得到去冗余报文;
具体地,先对报文信息进行去特殊字符处理,再基于报文信息判断预设时间内是否已经生成过越权测试用例,若未生成,则保留对应的去冗余报文;若已生成,则分析报文信息以判断API是否更新,若更新,则保留对应的去冗余报文,若未更新,则剔除对应的去冗余报文;
步骤S1023:搜索去冗余报文中是否存在权限标识字段,若是,则执行步骤S1024;若否则生成无风险的测试结果。
其中,权限标识字段可以是用户ID、姓名、联系方式、IP地址中的一个或多个。为了便于测试,权限标识字段即为请求信息或请求报文中所需替换的字段。
步骤S1024:将对应的去冗余报文储存至预设数据库中;
应当理解,若去冗余报文存在权限标识字段,则说明对应的测试对象中可能携带有具有相关权限才能修改、查阅或删除的信息,所以需要对这些冗余报文进行越权测试,若去冗余报文中不存在权限标识字段,则说明对应的测试对象可能为公开,无需进行测试。
步骤S1025:实时获取预设数据库中的去冗余报文,以得到待测试对象的请求报文和响应报文。
上述实施方式中,自动化监听监听网关节点的流量数据包,无需人工干预,通过对数据流量包进行分析,以获取实时请求信息和实时响应信息,通过去冗余处理,能够去除重复或冗余的信息,只保留关键的报文信息,搜索去冗余报文中存在权限标识字段,以筛选出具有访问权限的去冗余报文,从而实现了更加准确的找到网关节点中待测试对象,而无需对所有的报文进行处理,节约了计算资源。
作为步骤S103的一种实施方式,步骤S103具体包括:
对待测试对象的请求报文和响应报文进行向量化处理,得到查询目标;
计算查询目标与搜索库中每一样本测试用例的相似度,并基于相似度从搜索库中搜索出匹配的样本测试用例。
上述实施方式中,对待测试对象的请求报文和响应报文进行向量化处理,能够将文本信息转化为数值向量,便于进行数学计算和比较,提高了搜索和匹配的效率和准确性。通过计算查询目标与搜索库中每一样本测试用例的相似度,基于相似度从搜索库中搜索出匹配的样本测试用例,能够自动地筛选出与待测试对象最为接近的样本测试用例便于定位相似的问题或情境,以便更加准确的生成待测试对象的测试用例。
参照图4,作为步骤S104的一种实施方式,步骤S104具体包括:
步骤S1041:基于匹配的样本测试用例、待测试对象的请求报文和响应报文,构建文本参数,并将文本参数输入至预设大语言模型;
步骤S1042:预设大语言模型基于文本参数调用相应的推理框架,通过分析样本测试用例,以生成请求报文中所需替换的字段以及响应报文中标识越权成功的字段;
其中,响应报文中标识越权成功的字段包括个人信息、认证信息以及审计日志信息等。个人信息即身份证号、电话以及住址等,认证信息即通过用户名、密码、令牌等验证用户身份和授权访问特定资源或系统的信息。审计日志信息即用户操作记录、系统事件日志等,用于记录用户和系统的行为,上述信息均具有一定权限才能访问,若通过将所需替换的字段进行修改后的请求报文仍能够得到上述标识越权成功的字段,则说明存在漏洞。
应当理解,由于向预设大语言模型输入了样本测试用例,即通过样本测试用例就能够指导预设大语言模型的输出,无需对预设大语言模型进行大量的训练,并且由于样本测试用例是与待测试对象的场景最接近的,所以即使不通过大量训练,仅通过样本测试用例就能够达到较理想的输出结果。
步骤S1043:从待测试对象的请求报文中提取完整URL路径以及请求方法;
应当理解,对于同一个待测试对象完整URL路径以及请求方法并不会发生改变,所以直接从请求报文中提取完整URL路径以及请求方法即可。
步骤S1044:根据完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,生成一个或多个待测试对象的越权测试用例。
具体地,当请求报文中所需替换的字段仅有一个时,生成一个待测试对象的越权测试用例。当请求报文中所需替换的字段有多个时,对这些所需替换的字段进行排列组合,得到多组所需替换的字段的组合,每一组所需替换的字段均对应生成一个越权测试用例。
其中,作为示例,越权测试用例可以按照以下格式输出:
"host_url":"{目标API的完整URL路径}",
"method":"{目标API的请求方法}",
"replaced_info": [{需要在HTTP请求报文中替换的内容}],
"judgment_key_word":"{返回值包含此关键字时视为成功响应}"。
上述实施方式中,基于匹配的样本测试用例、待测试对象的请求报文和响应报文构建文本参数,以便预设大语言模型能够充分利用已有的样本数据和经验,将文本参数输入至预设大语言模型,并基于相应的推理框架进行分析,能够利用大语言模型的学习和推理能力,生成更为准确的请求报文中所需替换的字段以及响应报文中标识越权成功的字,再从待测试对象的请求报文中提取完整URL路径以及请求方法,即能够生成一个或多个适用于待测试对象的越权测试用例。
作为越权测试用例生成方法的进一步实施方式,越权测试用例生成方法还包括对待测试对象的越权测试用例的校验步骤,所述校验步骤包括:
提取越权测试用例中的关键信息;
判断关联信息的字段是否完整,若完整,则将越权测试用例转换为JSON格式用例;
判断JSON格式用例中每个字段对应的值类型是否正确,若正确,则越权测试用例校验通过。
上述实施方式中,提取越权测试用例中的关键信息,并将关联信息字段完整的越权测试用例转换为JSON格式用例,避免对信息缺失的越权测试用例进行JSON格式用例的转换,再通过对JSON格式用例中每个字段对应的值类型是否正确的校验,以便提高在利用JSON格式用例对待测试对象进行测试时的稳定性。
参照图5,作为越权测试用例生成方法的进一步实施方式,越权测试用例生成方法还包括利用越权测试用例进行越权测试的步骤,测试步骤包括:
步骤S201:对越权测试用例进行解析,得到完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段;
步骤S202:基于请求报文中所需替换的字段、完整URL路径以及请求方法,构造测试请求报文;
步骤S203:将所述测试请求报文发送至待测试对象,并接收测试响应报文;
其中,测试响应报文由待测试对象根据测试请求报文返回;
步骤S204:判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,若存在,则执行步骤S205,若不存在,则执行步骤S206。
步骤S205:输出待测试对象存在越权漏洞的测试结果;
步骤S206:输出待测试对象无风险的测试结果。
上述实施方式中,通过对越权测试用例进行解析,得到完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,再基于请求报文中所需替换的字段、完整URL路径以及请求方法构造测试请求报文,以确保测试请求报文的准确性和完整性,将测试请求报文发送至待测试对象并接收测试响应报文,能够模拟实际请求场景,通过待测试对象返回的测试响应报文,判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,以便准确输出待测试对象的安全风险,实现了越权漏洞的自动化测试。
本申请实施例公开一种越权测试用例生成系统。参照图6,一种越权测试用例生成系统,包括:
样本库构建单元,用于构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;
报文获取单元,用于获取待测试对象的请求报文和响应报文;
匹配单元,用于基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;
测试用例生成单元,用于将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。
本申请提供的一种越权测试用例生成系统能够实现上述一种越权测试用例生成方法,且一种越权测试用例生成系统的具体工作过程可参考上述方法实施例中的对应过程。
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
基于同一技术构思,本发明还公开一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在处理器上运行的计算机程序,处理器执行如上述任一种方法的计算机程序。
本发明还公开一种计算机可读储存介质,一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
Claims (10)
1.一种越权测试用例生成方法,其特征在于,包括:
构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;
获取待测试对象的请求报文和响应报文;
基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;
将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。
2.根据权利要求1所述的方法,其特征在于,所述构建包含有若干个示例文本向量的搜索库,具体包括:
获取样本测试用例;
从样本测试用例中提取关键信息;其中,所述关联信息包括测试对象的完整URL路径、测试对象的请求方法、请求信息中所需替换的字段以及响应信息中标识越权成功的字段;
获取与样本测试用例对应的测试对象的请求信息和响应信息;
对关键信息、测试对象的请求信息和响应信息进行拼接,得到示例文本;
对示例文本进行向量化处理,得到示例文本向量;
将示例文本向量储存至搜索库的索引结构中,以完成搜索库的构建。
3.根据权利要求1所述的方法,其特征在于,获取待测试对象的请求报文和响应报文,具体包括:
实时监听网关节点的流量数据包,并对数据流量包进行分析,得到报文信息;其中,所述报文信息包括实时请求信息和实时响应信息;
对报文信息进行去冗余处理,得到去冗余报文;
搜索去冗余报文中是否存在权限标识字段,若是,则将对应的去冗余报文储存至预设数据库中;
实时获取预设数据库中的去冗余报文,以得到待测试对象的请求报文和响应报文。
4.根据权利要求1所述的方法,其特征在于,所述基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例,具体包括:
对待测试对象的请求报文和响应报文进行向量化处理,得到查询目标;
计算查询目标与搜索库中每一样本测试用例的相似度,并基于相似度从搜索库中搜索出匹配的样本测试用例。
5.根据权利要求1所述的方法,其特征在于,所述将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例,具体包括:
基于匹配的样本测试用例、待测试对象的请求报文和响应报文,构建文本参数,并将文本参数输入至预设大语言模型;
所述预设大语言模型基于文本参数调用相应的推理框架,通过分析样本测试用例,以生成请求报文中所需替换的字段以及响应报文中标识越权成功的字段;
从待测试对象的请求报文中提取完整URL路径以及请求方法;
根据完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,生成一个或多个待测试对象的越权测试用例。
6.根据权利要求1所述的方法,其特征在于,还包括对待测试对象的越权测试用例的校验步骤,所述校验步骤包括:
提取越权测试用例中的关键信息;
判断关联信息的字段是否完整,若完整,则将越权测试用例转换为JSON格式用例;
判断JSON格式用例中每个字段对应的值类型是否正确,若正确,则越权测试用例校验通过。
7.根据权利要求1-6任一所述的方法,其特征在于,还包括利用越权测试用例进行越权测试的步骤,所述测试步骤包括:
对越权测试用例进行解析,得到完整URL路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段;
基于请求报文中所需替换的字段、完整URL路径以及请求方法,构造测试请求报文;
将所述测试请求报文发送至待测试对象,并接收测试响应报文;其中,所述测试响应报文由待测试对象根据测试请求报文返回;
判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,若存在,则输出待测试对象存在越权漏洞的测试结果;若不存在,输出待测试对象无风险的测试结果。
8.一种越权测试用例生成系统,其特征在于,包括:
样本库构建单元,用于构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;
报文获取单元,用于获取待测试对象的请求报文和响应报文;
匹配单元,用于基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;
测试用例生成单元,用于将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。
9.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利要求1-7中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,包括存储有能够被处理器加载并执行如权利要求1-7中任一方法中的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865527.6A CN117806966A (zh) | 2023-12-29 | 2023-12-29 | 一种越权测试用例生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865527.6A CN117806966A (zh) | 2023-12-29 | 2023-12-29 | 一种越权测试用例生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117806966A true CN117806966A (zh) | 2024-04-02 |
Family
ID=90429658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311865527.6A Pending CN117806966A (zh) | 2023-12-29 | 2023-12-29 | 一种越权测试用例生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806966A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233635A1 (en) * | 2002-06-14 | 2003-12-18 | International Business Machines Corporation | Automated test generation |
CN114444087A (zh) * | 2022-01-29 | 2022-05-06 | 中国农业银行股份有限公司 | 一种越权漏洞检测方法、装置、电子设备及存储介质 |
CN114968750A (zh) * | 2021-02-23 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 基于人工智能的测试用例生成方法、装置、设备和介质 |
-
2023
- 2023-12-29 CN CN202311865527.6A patent/CN117806966A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233635A1 (en) * | 2002-06-14 | 2003-12-18 | International Business Machines Corporation | Automated test generation |
CN114968750A (zh) * | 2021-02-23 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 基于人工智能的测试用例生成方法、装置、设备和介质 |
CN114444087A (zh) * | 2022-01-29 | 2022-05-06 | 中国农业银行股份有限公司 | 一种越权漏洞检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522922B (zh) | 日志信息查询方法、装置、存储介质及计算机设备 | |
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN112019401B (zh) | 一种车联网应用安全测试方法、装置、系统和电子设备 | |
CN109976995B (zh) | 用于测试的方法和装置 | |
CN108537042A (zh) | 自定义插件生成方法、装置、设备及存储介质 | |
CN106528393A (zh) | 一种WebService的Mock测试的方法及装置 | |
CN109831459B (zh) | 安全访问的方法、装置、存储介质和终端设备 | |
CN113810408B (zh) | 网络攻击组织的探测方法、装置、设备及可读存储介质 | |
CN112052172A (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
CN111049858A (zh) | 一种基于交叉验证的基线扫描漏洞去重方法、装置及设备 | |
CN108959965A (zh) | 数据合规性审查方法和装置 | |
Daubner et al. | Towards verifiable evidence generation in forensic-ready systems | |
Vimala et al. | VAPE-BRIDGE: Bridging OpenVAS results for automating metasploit framework | |
Alghamdi | Effective penetration testing report writing | |
CN114036526A (zh) | 漏洞测试方法、装置、计算机设备和存储介质 | |
US20170220449A1 (en) | Infrastructure rule generation | |
CN112433936A (zh) | 测试方法、装置及存储介质 | |
CN112347328A (zh) | 一种网络平台识别方法、装置、设备及可读存储介质 | |
Munea et al. | Design and implementation of fuzzing framework based on IoT applications | |
CN117806966A (zh) | 一种越权测试用例生成方法及系统 | |
CN115378655A (zh) | 漏洞检测方法及装置 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN111309311B (zh) | 一种漏洞检测工具生成方法、装置、设备及可读存储介质 | |
CN114416596A (zh) | 一种测试应用的方法、装置、计算机设备及存储介质 | |
CN114546857A (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 |