本申请涉及测试领域,特别涉及一种接口越权测试方法、系统、存储介质和设备。
背景技术:
1、在越权测试中,常需使用高权限、低权限和无权限鉴权信息请求被测试资源,以比对不同请求的返回结果,判断是否存在越权漏洞。数据操作通常包括“增”、“删”、“改”、“查”四种操作。在进行“增”、“删”、“改”操作的越权测试时,常因自动化的测试的原始请求对数据操作后,未对被修改的数据进行重置,导致测试请求操作该资源时会产生冲突,使得自动化越权测试无法得出有效结果。
2、目前,目前在测试涉及到对资源进行“增”、“删”、“改”操作的接口时,只能通过人工对资源进行还原,然后对接口进行测试。不仅测试效率低下,且容易导致测试过程混乱,难以确定具体的越权类型和越权严重程度。
技术实现思路
1、本申请的目的是提供一种接口越权测试方法、系统、存储介质和设备,能够提高越权测试的测试效率。
2、为解决上述技术问题,本申请提供一种接口越权测试方法,具体技术方案如下:
3、应用最高权限启用业务测试,利用代理服务器捕获业务测试流量;
4、将业务接口的相关请求作为原响应保存写入越权测试系统数据库;
5、配置低权限鉴权信息,从越权测试系统数据库读取接口的请求报文并替换所述低权限鉴权信息,将接口的低权限请求的响应信息与原响应信息进行比对,得到第一比对结果;
6、对被测数据进行事务回滚后,从所述越权测试系统数据库读取接口的请求报文并移除所述鉴权信息,将无鉴权信息对应的响应信息与所述原响应信息进行比对,得到第二比对结果;
7、根据所述第一比对结果和所述第二比对结果确定存在越权漏洞的接口。
8、可选的,利用代理服务器捕获业务测试流量之后,还包括:
9、利用过滤规则过滤静态资源请求;所述过滤规则包括文件后缀名过滤。
10、可选的,所述利用代理服务器捕获业务测试流量包括:
11、使用mitmproxy通过http代理或https代理捕获业务测试过程中的业务测试流量。
12、可选的,所述将业务接口的相关请求作为原响应保存写入越权测试系统数据库包括:
13、根据数据格式确定业务接口的相关请求的响应信息;
14、将所述响应信息作为原响应保存写入越权测试系统数据库。
15、可选的,所述将接口的低权限请求的响应信息与原响应信息进行比对,得到第一比对结果之前,还包括:
16、利用上下文管理器确定已配置低权限鉴权信息的目标接口。
17、可选的,对被测数据进行事务回滚的过程包括:
18、利用测试框架的回滚函数还原被测系统数据库中测试数据的状态回滚。
19、可选的,根据所述第一比对结果和所述第二比对结果确定存在越权漏洞的接口之后,还包括:
20、生成高等级权限的响应配置文件,并修改存在越权漏洞的接口的鉴权参数。
21、本申请还提供一种接口越权测试系统,包括:
22、流量捕获模块,用于应用最高权限启用业务测试,利用代理服务器捕获业务测试流量;
23、原响应保存模块,用于将业务接口的相关请求作为原响应保存写入越权测试系统数据库;
24、低权限测试模块,用于配置低权限鉴权信息,从越权测试系统数据库读取接口的请求报文并替换所述低权限鉴权信息,将接口的低权限请求的响应信息与原响应信息进行比对,得到第一比对结果;
25、无权限测试模块,用于对被测数据进行事务回滚后,从所述越权测试系统数据库读取接口的请求报文并移除所述鉴权信息,将无鉴权信息对应的响应信息与所述原响应信息进行比对,得到第二比对结果;
26、越权漏洞检测模块,用于根据所述第一比对结果和所述第二比对结果确定存在越权漏洞的接口。
27、本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
28、本申请还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
29、本申请提供一种接口越权测试方法,包括:应用最高权限启用业务测试,利用代理服务器捕获业务测试流量;将业务接口的相关请求作为原响应保存写入越权测试系统数据库;配置低权限鉴权信息,从越权测试系统数据库读取接口的请求报文并替换所述低权限鉴权信息,将接口的低权限请求的响应信息与原响应信息进行比对,得到第一比对结果;对被测数据进行事务回滚后,从所述越权测试系统数据库读取接口的请求报文并移除所述鉴权信息,将无鉴权信息对应的响应信息与所述原响应信息进行比对,得到第二比对结果;根据所述第一比对结果和所述第二比对结果确定存在越权漏洞的接口。
30、本申请通过流量捕获,并采用越权测试系统数据库执行越权测试,可以实现被测数据的自动化还原和自动化越权测试,无需人工执行数据还原和数据测试,节省人工操作成本,同时提高测试准确性和可靠性。此外,本申请能够在测试请求发起前后执行被测数据的还原,有效避免请求冲突。
31、本申请还提供一种接口越权测试系统、计算机可读存储介质和电子设备,具有上述有益效果,此处不再赘述。
1.一种接口越权测试方法,其特征在于,包括:
2.根据权利要求1所述的接口越权测试方法,其特征在于,利用代理服务器捕获业务测试流量之后,还包括:
3.根据权利要求1所述的接口越权测试方法,其特征在于,所述利用代理服务器捕获业务测试流量包括:
4.根据权利要求1所述的接口越权测试方法,其特征在于,所述将业务接口的相关请求作为原响应保存写入越权测试系统数据库包括:
5.根据权利要求1所述的接口越权测试方法,其特征在于,所述将接口的低权限请求的响应信息与原响应信息进行比对,得到第一比对结果之前,还包括:
6.根据权利要求1所述的接口越权测试方法,其特征在于,对被测数据进行事务回滚的过程包括:
7.根据权利要求1所述的接口越权测试方法,其特征在于,根据所述第一比对结果和所述第二比对结果确定存在越权漏洞的接口之后,还包括:
8.一种接口越权测试系统,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的接口越权测试方法的步骤。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-7任一项所述的接口越权测试方法的步骤。