本申请涉及权限检测,具体涉及一种确定业务实体主键值的方法及装置。
背景技术:
1、在越权测试场景中,原始请求是删除操作,但是删除后的数据无法再进行直接重放攻击。这意味着我们无法使用原始请求进行变异检测,因为我们无法重新创建删除操作。而为了便于重新创建删除操作,需要先识别提取出删除操作对应的主键值信息。然而,现有技术中并不存在可以确定删除操作对应的主键值信息的方法。
技术实现思路
1、本申请的目的在于提供一种确定业务实体主键值的方法、装置、电子设备及计算机可读存储介质,可以解决上述背景技术中存在的至少一技术问题。
2、为实现上述目的,本申请提供了一种确定业务实体主键值的方法,包括:
3、获取测试应用的请求流量;
4、基于所述请求流量进行解析,提取出其中的键值对信息;
5、定位业务模块并确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作;
6、若存在有依赖关系的所述其他业务操作,则基于从所述删除操作的请求内容中提取到的一键信息,获取存在依赖关系的所述其他业务操作的请求内容中提取到的对应键信息,以及基于该对应的键信息,获取所述其他业务操作的请求内容中存在相同键信息的其他键值对信息;
7、基于获取的所述其他键值对信息执行业务操作,通过响应内容判断从所述删除操作的请求内容中提取到的所述键信息是否为主键信息。
8、可选地,所述获取测试应用的请求流量包括:
9、获取所述测试应用的请求流量的集合;
10、通过请求特征信息将所述测试应用的请求流量进行聚合整理;
11、将聚合整理后的请求流量进行数据存储;
12、提取存储的所述请求流量进行测试。
13、可选地,所述定位业务模块包括:
14、通过请求url中的路径来定位所述业务模块。
15、可选地,所述确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作,包括:
16、遍历所述删除操作的请求内容中出现的键值对信息,在其他类型的业务操作的请求内容中进行查询,如果完全相同的键值对数量为m,则添加m条映射信息并赋予第一权重值,如果值一样但键不完全一样的键值对数量为t,则添加t条映射信息并赋予第二权重值,所述第二权重值小于第一权重值;
17、基于所述删除操作的请求内容中出现的键值对数量、所述m条映射信息及其所述第一权重值、以及所述t条映射信息及其所述第二权重值,得到依赖度;
18、若所述依赖度大于或大于等于依赖度阈值,则对应的所述其他类型的业务操作为所述删除操作存在依赖关系的所述其他业务操作。
19、可选地,所述第一权重值为1,所述第二权重值大于0小于1,所述依赖度等于m乘以第一权重值加上t乘以第二权重值后的值与n的比值,n为所述删除操作的请求内容中出现的键值对数量。
20、为实现上述目的,本申请还提供了一种确定业务实体主键值的装置,包括:
21、第一获取模块,用于获取测试应用的请求流量;
22、提取模块,用于基于所述请求流量进行解析,提取出其中的键值对信息;
23、定位及确定模块,用于定位业务模块并确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作;
24、第二获取模块,用于若存在有依赖关系的所述其他业务操作,则基于从所述删除操作的请求内容中提取到的一键信息,获取存在依赖关系的所述其他业务操作的请求内容中提取到的对应键信息,以及基于该对应的键信息,获取所述其他业务操作的请求内容中存在相同键信息的其他键值对信息;
25、判断模块,用于基于获取的所述其他键值对信息执行业务操作,通过响应内容判断从所述删除操作的请求内容中提取到的所述键信息是否为主键信息。
26、可选地,所述确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作,包括:
27、遍历所述删除操作的请求内容中出现的键值对信息,在其他类型的业务操作的请求内容中进行查询,如果完全相同的键值对数量为m,则添加m条映射信息并赋予第一权重值,如果值一样但键不完全一样的键值对数量为t,则添加t条映射信息并赋予第二权重值,所述第二权重值小于第一权重值;
28、基于所述删除操作的请求内容中出现的键值对数量、所述m条映射信息及其所述第一权重值、以及所述t条映射信息及其所述第二权重值,得到依赖度;
29、若所述依赖度大于或大于等于依赖度阈值,则对应的所述其他类型的业务操作为所述删除操作存在依赖关系的所述其他业务操作。
30、可选地,所述第一权重值为1,所述第二权重值大于0小于1,所述依赖度等于m乘以第一权重值加上t乘以第二权重值后的值与n的比值,n为所述删除操作的请求内容中出现的键值对数量。
31、为实现上述目的,本申请还提供了一种电子设备,包括:
32、处理器;
33、存储器,其中存储有所述处理器的可执行指令;
34、其中,所述处理器配置为经由执行所述可执行指令来执行如前所述的确定业务实体主键值的方法。
35、为实现上述目的,本申请还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如前所述的确定业务实体主键值的方法。
36、本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行如上所述的确定业务实体主键值的方法。
37、本申请从测试应用的请求流量中提取出其中的键值对信息,定位业务模块并确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作;若存在有依赖关系的其他业务操作,则基于从删除操作的请求内容中提取到的一键信息(键值对信息中的键信息),获取存在依赖关系的其他业务操作的请求内容中提取到的对应键信息,以及基于该对应的键信息,获取其他业务操作的请求内容中存在相同键信息的其他键值对信息;进而基于获取的其他键值对信息执行业务操作,通过响应内容判断从删除操作的请求内容中提取到的键信息是否为主键信息,进而可以确定删除操作对应的主键值信息。
1.一种确定业务实体主键值的方法,其特征在于,包括:
2.如权利要求1所述的确定业务实体主键值的方法,其特征在于,所述获取测试应用的请求流量包括:
3.如权利要求1所述的确定业务实体主键值的方法,其特征在于,所述定位业务模块包括:
4.如权利要求1所述的确定业务实体主键值的方法,其特征在于,所述确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作,包括:
5.如权利要求4所述的确定业务实体主键值的方法,其特征在于,所述第一权重值为1,所述第二权重值大于0小于1,所述依赖度等于m乘以第一权重值加上t乘以第二权重值后的值与n的比值,n为所述删除操作的请求内容中出现的键值对数量。
6.一种确定业务实体主键值的装置,其特征在于,包括:
7.如权利要求6所述的确定业务实体主键值的装置,其特征在于,所述确定该业务模块关联的业务操作中删除操作是否存在有依赖关系的其他业务操作,包括:
8.如权利要求7所述的确定业务实体主键值的装置,其特征在于,所述第一权重值为1,所述第二权重值大于0小于1,所述依赖度等于m乘以第一权重值加上t乘以第二权重值后的值与n的比值,n为所述删除操作的请求内容中出现的键值对数量。
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7任一项所述的确定业务实体主键值的方法。