本申请涉及计算机,尤其涉及一种漏洞检测方法、装置、存储介质及计算机设备。
背景技术:
1、数据库测试是依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行的测试。
2、目前,由于传统的测试手段依靠人工进行,效率较慢,使得测试人员忽略了某些类型的测试,如数据库的事务、主从测试等,从而导致了一些灾难性的故障发生。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中由于传统的测试手段依靠人工进行,效率较慢,使得测试人员忽略了某些类型的测试,从而导致了一些灾难性的故障发生的技术缺陷。
2、本申请提供了一种漏洞检测方法,所述方法包括:
3、当监听到对目标数据库进行相关操作并调用特定方法时,获取所述特定方法的堆栈信息;
4、当确定所述堆栈信息中存在与待检测对象对应的注解信息时,根据预设有效性判断方法对所述待检测对象的有效性进行判断;
5、若所述待检测对象有效,则不存在与所述待检测对象相关的漏洞;
6、若所述待检测对象无效,则存在与所述待检测对象相关的漏洞。
7、可选地,所述待检测对象包括事务和主从;
8、所述当确定所述堆栈信息中存在与待检测对象对应的注解信息时,根据预设有效性判断方法对所述待检测对象的有效性进行判断,包括:
9、当确定所述堆栈信息中存在与所述事务对应的注解信息时,根据第一预设有效性判断方法对所述事务的有效性进行判断;
10、或者,当确定所述堆栈信息中存在与所述主从对应的注解信息时,根据第二预设有效性判断方法对所述主从的有效性进行判断。
11、可选地,所述根据第一预设有效性判断方法对所述事务的有效性进行判断,包括:
12、确定所述事务的使用规范,所述使用规范包括所述特定方法是否被同一个类下的方法调用,以及,所述特定方法的权限是否为public;
13、若所述特定方法被同一个类下的方法调用,或者,所述特定方法的权限不是public,则所述事务无效;
14、若所述特定方法未被同一个类下的方法调用,且所述特定方法的权限是public,则所述事务有效。
15、可选地,所述根据第二预设有效性判断方法对所述主从的有效性进行判断,包括:
16、若所述特定方法被同一个类下的方法调用,则所述主从无效;
17、若所述特定方法未被同一个类下的方法调用,则所述主从有效。
18、可选地,所述方法还包括:
19、当所述待检测对象为事务时,判断所述事务是否为大事务;
20、若是,则进行大事务预警;
21、否则,不触发相关操作。
22、可选地,所述判断所述事务是否为大事务,包括:
23、确定同一个事务中操作的sql条数以及每条sql操作的数据量;
24、若同一个事务中操作的sql条数不小于预设条数阈值,或,每条sql操作的数据量不小于预设数据量阈值,则所述事务是大事务;
25、若同一个事务中操作的sql条数小于预设条数阈值,或,每条sql操作的数据量小于预设数据量阈值,则所述事务不是大事务。
26、可选地,所述进行大事务预警,包括:
27、通过err日志的方式向相关人员进行大事务预警。
28、本申请还提供了一种漏洞检测装置,包括:
29、信息获取模块,用于当监听到对目标数据库进行相关操作并调用特定方法时,获取所述特定方法的堆栈信息;
30、有效性判断模块,用于当确定所述堆栈信息中存在与待检测对象对应的注解信息时,根据预设有效性判断方法对所述待检测对象的有效性进行判断;
31、第一检测模块,用于若所述待检测对象有效,则不存在与所述待检测对象相关的漏洞;
32、第二检测模块,用于若所述待检测对象无效,则存在与所述待检测对象相关的漏洞。
33、本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述漏洞检测方法的步骤。
34、本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
35、所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述漏洞检测方法的步骤。
36、从以上技术方案可以看出,本申请实施例具有以下优点:
37、本申请提供的漏洞检测方法、装置、存储介质及计算机设备,当监听到对目标数据库进行相关操作并调用特定方法时,获取特定方法的堆栈信息;当确定堆栈信息中存在与待检测对象对应的注解信息时,根据预设有效性判断方法对待检测对象的有效性进行判断;若待检测对象有效,则不存在与待检测对象相关的漏洞;若待检测对象无效,则存在与待检测对象相关的漏洞。该过程可以在对目标数据库进行相关操作的过程中进行自动化检测,这样便可以在无成本的情况对测试或者开发进行事务/主从问题的发现,从而避免灾难性故障的产生。
1.一种漏洞检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的漏洞检测方法,其特征在于,所述待检测对象包括事务和主从;
3.根据权利要求2所述的漏洞检测方法,其特征在于,所述根据第一预设有效性判断方法对所述事务的有效性进行判断,包括:
4.根据权利要求2所述的漏洞检测方法,其特征在于,所述根据第二预设有效性判断方法对所述主从的有效性进行判断,包括:
5.根据权利要求1所述的漏洞检测方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的漏洞检测方法,其特征在于,所述判断所述事务是否为大事务,包括:
7.根据权利要求5所述的漏洞检测方法,其特征在于,所述进行大事务预警,包括:
8.一种漏洞检测装置,其特征在于,包括:
9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述漏洞检测方法的步骤。
10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;