一种越权测试用例生成方法及系统与流程

文档序号:37550138发布日期:2024-04-08 13:58阅读:9来源:国知局
一种越权测试用例生成方法及系统与流程

本发明涉及漏洞测试,尤其是涉及一种越权测试用例生成方法及系统。


背景技术:

1、越权测试用例是用于测试系统权限管理的测试案例,旨在发现越权漏洞。这些测试用例设计用于模拟不同用户角色和权限级别的操作,验证系统是否能够正确地限制用户的访问和操作范围。通过执行越权测试用例,可以发现潜在的安全风险和漏洞,确保系统的安全性和数据完整性。

2、目前,越权测试用例的编写通常由测试人员手工编写,测试人员根据系统api的详细信息,即业务类型、api参数结构、api参数类型、api参数含义、api返回值等内容,依靠对api的全面了解对此api编写测试用例,然而,采用这种方式进行越权测试用例的编写,越权测试用例的质量与测试人员的技术能力紧密相关且由测试人员编写的效率较低,因此,如何实现既提高越权测试用例的编写效率又保障越权测试用例的质量是目前亟待解决的问题。


技术实现思路

1、为了在保障越权测试用例的质量的同时提高效率,本技术提供了一种越权测试用例生成方法及系统。

2、第一方面,本技术提供的一种越权测试用例生成方法,采用如下的技术方案:

3、一种越权测试用例生成方法,包括:

4、构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;

5、获取待测试对象的请求报文和响应报文;

6、基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;

7、将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。

8、通过采用上述技术方案,构建包含有若干个示例文本向量的搜索库,在需要生成待测试对象的测试用例时,先基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例,更加贴合当前待测试对象的测试需求以便供预设大语言模型参考,再将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,通过预设大语言模型的推理能力并参照匹配的样本测试用例生成待测试对象的越权测试用例,使得越权测试用例对待测试对象的适应度更高保障了质量,同时实现了越权测试用例的自动生成提高了效率。

9、可选的,所述构建包含有若干个示例文本向量的搜索库,具体包括:

10、获取样本测试用例;

11、从样本测试用例中提取关键信息;其中,所述关联信息包括测试对象的完整url路径、测试对象的请求方法、请求信息中所需替换的字段以及响应信息中标识越权成功的字段;

12、获取与样本测试用例对应的测试对象的请求信息和响应信息;

13、对关键信息、测试对象的请求信息和响应信息进行拼接,得到示例文本;

14、对示例文本进行向量化处理,得到示例文本向量;

15、将示例文本向量储存至搜索库的索引结构中,以完成搜索库的构建。

16、通过采用上述技术方案,将提取的关键信息测试对象的请求信息和响应信息进行拼接,得到示例文本,再对示例文本进行向量化处理以构建示例文本向量,通过向量化处理能够高效地处理和存储大量的样本测试用例。同时示例文本向量化使得搜索能够基于内容的相似性进行匹配,而不仅仅是基于关键字,增强了搜索库的灵活性和准确性,能够更好地匹配出样本测试用例以满足测试需求。

17、可选的,获取待测试对象的请求报文和响应报文,具体包括:

18、实时监听网关节点的流量数据包,并对数据流量包进行分析,得到报文信息;其中,所述报文信息包括实时请求信息和实时响应信息;

19、对报文信息进行去冗余处理,得到去冗余报文;

20、搜索去冗余报文中是否存在权限标识字段,若是,则将对应的去冗余报文储存至预设数据库中;

21、实时获取预设数据库中的去冗余报文,以得到待测试对象的请求报文和响应报文。

22、通过采用上述技术方案,自动化监听监听网关节点的流量数据包,无需人工干预,通过对数据流量包进行分析,以获取实时请求信息和实时响应信息,通过去冗余处理,能够去除重复或冗余的信息,只保留关键的报文信息,搜索去冗余报文中存在权限标识字段,以筛选出具有访问权限的去冗余报文,从而实现了更加准确的找到网关节点中待测试对象,而无需对所有的报文进行处理,节约了计算资源。

23、可选的,所述基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例,具体包括:

24、对待测试对象的请求报文和响应报文进行向量化处理,得到查询目标;

25、计算查询目标与搜索库中每一样本测试用例的相似度,并基于相似度从搜索库中搜索出匹配的样本测试用例。

26、通过采用上述技术方案,对待测试对象的请求报文和响应报文进行向量化处理,能够将文本信息转化为数值向量,便于进行数学计算和比较,提高了搜索和匹配的效率和准确性。通过计算查询目标与搜索库中每一样本测试用例的相似度,基于相似度从搜索库中搜索出匹配的样本测试用例,能够自动地筛选出与待测试对象最为接近的样本测试用例便于定位相似的问题或情境,以便更加准确的生成待测试对象的测试用例。

27、可选的,所述将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例,具体包括:

28、基于匹配的样本测试用例、待测试对象的请求报文和响应报文,构建文本参数,并将文本参数输入至预设大语言模型;

29、所述预设大语言模型基于文本参数调用相应的推理框架,通过分析样本测试用例,以生成请求报文中所需替换的字段以及响应报文中标识越权成功的字段;

30、从待测试对象的请求报文中提取完整url路径以及请求方法;

31、根据完整url路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,生成一个或多个待测试对象的越权测试用例。

32、通过采用上述技术方案,基于匹配的样本测试用例、待测试对象的请求报文和响应报文构建文本参数,以便预设大语言模型能够充分利用已有的样本数据和经验,将文本参数输入至预设大语言模型,并基于相应的推理框架进行分析,能够利用大语言模型的学习和推理能力,生成更为准确的请求报文中所需替换的字段以及响应报文中标识越权成功的字,再从待测试对象的请求报文中提取完整url路径以及请求方法,即能够生成一个或多个适用于待测试对象的越权测试用例。

33、可选的,还包括对待测试对象的越权测试用例的校验步骤,所述校验步骤包括:

34、提取越权测试用例中的关键信息;

35、判断关联信息的字段是否完整,若完整,则将越权测试用例转换为json格式用例;

36、判断json格式用例中每个字段对应的值类型是否正确,若正确,则越权测试用例校验通过。

37、通过采用上述技术方案,提取越权测试用例中的关键信息,并将关联信息字段完整的越权测试用例转换为json格式用例,避免对信息缺失的越权测试用例进行json格式用例的转换,再通过对json格式用例中每个字段对应的值类型是否正确的校验,以便提高在利用json格式用例对待测试对象进行测试时的稳定性。

38、可选的,还包括利用越权测试用例进行越权测试的步骤,所述测试步骤包括:

39、对越权测试用例进行解析,得到完整url路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段;

40、基于请求报文中所需替换的字段、完整url路径以及请求方法,构造测试请求报文;

41、将所述测试请求报文发送至待测试对象,并接收测试响应报文;其中,所述测试响应报文由待测试对象根据测试请求报文返回;

42、判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,若存在,则输出待测试对象存在越权漏洞的测试结果;若不存在,输出待测试对象无风险的测试结果。

43、通过采用上述技术方案,通过对越权测试用例进行解析,得到完整url路径、请求方法、请求报文中所需替换的字段以及响应报文中标识越权成功的字段,再基于请求报文中所需替换的字段、完整url路径以及请求方法构造测试请求报文,以确保测试请求报文的准确性和完整性,将测试请求报文发送至待测试对象并接收测试响应报文,能够模拟实际请求场景,通过待测试对象返回的测试响应报文,判断测试响应报文中是否存在与标识越权成功的字段相匹配的字段,以便准确输出待测试对象的安全风险,实现了越权漏洞的自动化测试。

44、第二方面,本技术提供一种越权测试用例生成系统,采用如下技术方案:

45、一种越权测试用例生成系统,包括:

46、样本库构建单元,用于构建包含有若干个示例文本向量的搜索库;其中,每个所述示例文本向量均包括请求信息、响应信息以及样本测试用例;

47、报文获取单元,用于获取待测试对象的请求报文和响应报文;

48、匹配单元,用于基于待测试对象的请求报文和响应报文,从搜索库中搜索出匹配的样本测试用例;

49、测试用例生成单元,用于将匹配的样本测试用例、待测试对象的请求报文和响应报文输入至预设大语言模型中,以输出待测试对象的越权测试用例。

50、第三方面,本技术提供一种计算机设备,采用如下技术方案:

51、一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。

52、第四方面,本技术提供一种计算机可读存储介质,采用如下技术方案:

53、一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1