一种基于预加载的安全扫描方法及装置
技术领域
本发明属于安全扫描
技术领域
,具体涉及一种基于预加载的安全扫描方法及装置。背景技术
通常的安全扫描主要分为两部分,一部分指的是后台扫描,包括端口、服务、第三方组件等扫描;另一部分是Web扫描,通过浏览器对应用进行扫描。
传统的安全扫描主要是通过提前预置规则,在扫描时选择预置的规则,然后通过扫描输出结果。这种扫描可以满足安全扫描的需求,如果规则相对较少,可以比较快速的输出扫描结果,然而随着规则的日益增多,扫描的速度必然越来越慢,特别是在对于同一应用软件进行多次扫描时,虽然可以选择之前的扫描配置,但是扫描过程仍然是顺序执行,输出结果仍需要很长时间。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于预加载的安全扫描方法及装置,是非常有必要的。
发明内容
针对现有技术的上述传统安全扫描随着规则的增多尤其是对同一应用软件多次扫描时,扫描时间长的缺陷,本发明提供一种基于预加载的安全扫描方法及装置,以解决上述技术问题。
第一方面,本发明提供一种基于预加载的安全扫描方法,包括如下步骤:
S1.获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;
S2.将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出。
进一步地,步骤S1具体步骤如下:
S11.获取待扫描的目标应用软件及其URL;
S12.判断在已有扫描结果中是否存在与目标应用软件的URL完全相同的URL;
若是,将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL,进入步骤S13;
若否,进入步骤S14;
S13.设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描,结束;
S14.对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;
S15.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描。当目标应用软件的URL在已有扫描结果中存在完全相同的URL,则该目标应用软件是明确确定已经进行过扫描的,对于无法明确确定目标应用软件是否进行过扫描的,需要根据关键特征项中相同部分比例进行进一步判断。
进一步地,步骤S13具体步骤如下:
S131.判断目标应用软件的待扫描主机IP及扫描规则是否与标记URL对应的已有扫描结果相同;
若是,进入步骤S132;
若否,进入步骤S133;
S132.使用标记URL对应的已有扫描结果作为目标应用软件的扫描结果,结束;
S133.若待扫描主机IP有变更或扫描规则有变化,则对待扫描主机IP或扫描规则重新配置,已有扫描结果进行追加扫描,结束。对于已进行过扫描,且目标应用软件的主机IP、URL及扫描规则和之前没有变化则直接使用已有扫描结果,而当主机IP或目标应用软件功能有新增,扫描规则有变化,则重现配置后进行扫描。
进一步地,步骤S14具体步骤如下:
S141.获取目标应用软件URL及已有扫描结果URL的各特征项;所述URL的特征项包括协议类型、域名或主机名、端口、路径和文件名、参数部分及锚部分;
S142.从目标应用软件URL及已有扫描结果URL的特征项中提取出关键特征项;关键特征项包括路径和文件名、参数部分及锚部分。路径、文件名、参数和锚,都是由应用软件的开发人员自行定义的,随机性很大,通常都是各不相同的,可以作为判定应用软件的条件;主机IP和扫描规则不作为关键特征项,原因在于多数应用软件在部署时不一定部署在同一主机上,并且主机IP本身也存在变化的情况;扫描规则相当于检查项,检查项的多少也不能作为判断的依据,并且通常来说扫描时对于不同的应用软件扫描规则一般会默认选择或者全选,在扫描结果中,虽然扫描规则的不同可能会导致漏洞的不同,但是无法作为判断当前进行扫描的应用软件与之前扫描过的应用软件是否相同的依据。
进一步地,步骤S15具体步骤如下:
S151.对比例阈值进行设定;
S152.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值;
若否,进入步骤S153;
若是,进入步骤S154;
S153.判定目标应用软件未进行过扫描,对目标应用软件进行顺序扫描,并输出扫描结果,结束;
S154.判定目标应用软件已进行过扫描。设定比例阈值例如100%,50%,10%,比例阈值可以进行配置,满足阈值要求时,及判断目标应用软件,进行过扫描,并加载已有扫描结果,如存在多个扫描结果,优先显示最近的扫描结果作为已有扫描结果,其他扫描结果作为已有扫描结果的备选。
进一步地,步骤S2具体步骤如下:
S21.获取目标应用软件的已有扫描结果;
S22.将目标应用软件的URL按照在已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
S23.将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
S24.将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
S25.将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
S26.输出一层扫描结果。对于相同的URL中存在漏洞的分为第一层URL,第一层URL作为一个任务包首先提交扫描并输出扫描结果,通过本层扫描可以查看之前存在的漏洞在当前扫描的目标应用软件中是否已经解决,再依次扫描二层URL及三层URL,并更新扫描结果。
进一步地,步骤S25与步骤S26之间还设置有步骤SS25;
SS25.将在已有扫描结果中存在,但在目标应用软件中不存在的URL,设定为第四层URL,对第四层URL进行扫描,将扫描结果设定为可选展示,与一层扫描结果合并;
步骤S26中,输出一层扫描结果与已有扫描结果的对比结果。对于四层URL,不作为任务包提交扫描,但是在整体扫描完成之后,无论此部分URL是否存在漏洞,将之前的扫描结果合并到当前的扫描结果中,默认隐藏,可以选择进行展示;整体扫描完成之后,完整的扫描结果默认展示目标应用软件当前的扫描结果,也可以显示通过选择展示当前扫描结果与之前扫描结果的对比结果。
第二方面,本发明提供一种基于预加载的安全扫描装置,包括:
已有扫描结果加载模块,用于获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;
分层扫描模块,用于将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出。
进一步地,已有扫描结果加载模块包括:
目标应用软件URL获取单元,用于获取待扫描的目标应用软件及其URL;
URL判断单元,用于判断在已有扫描结果中是否存在与目标应用软件的URL完全相同的URL;
标记URL设置单元,用于将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL;已有扫描结果使用单元,用于当在已有扫描结果中存在完全相同的URL时,设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描,结束;
URL处理单元,用于对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;
目标应用软件已扫描判定单元,用于判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描。
进一步地,分层扫描模块包括:
已有扫描结果获取单元,用于获取目标应用软件的已有扫描结果;
URL分层单元,用于将目标应用软件的URL按照在已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
一层扫描单元,用于将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
二层扫描单元,用于将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
三层扫描单元,用于将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
扫描结果输出单元,用于输出一层扫描结果。
本发明的有益效果在于,
本发明提供的基于预加载的安全扫描方法及装置,通过URL判断目标应用软件进行扫描前是否已进行过扫描,从而加载已有的扫描结果,并通过对应URL在之前的扫描结果中是否存在漏洞,分层进行扫描,优先进行存在漏洞的URL的扫描的方式,实现快速验证漏洞修复,提升漏洞验证效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的系统示意图;
图中,1-已有扫描结果加载模块;1.1-目标应用软件URL获取单元;1.2-URL判断单元;1.3-标记URL设置单元;1.4-已有扫描结果使用单元;1.5-URL处理单元;1.6-目标应用软件已扫描判定单元;2-分层扫描模块;2.1-已有扫描结果获取单元;2.2-URL分层单元;2.3-一层扫描单元;2.4-二层扫描单元;2.5-三层扫描单元;2.6-扫描结果输出单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
URL,是Uniform Resource Locator的简称,统一资源定位器,是因特网的万维网服务程序上用于指定信息位置的表示方法,在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL,它是WWW的统一资源定位标志,就是指网络地址。
实施例1:
如图1所示,本发明提供一种基于预加载的安全扫描方法,包括如下步骤:
S1.获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;
S2.将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出。
实施例2:
如图2所示,本发明提供一种基于预加载的安全扫描方法,包括如下步骤:
S1.获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;具体步骤如下:
S11.获取待扫描的目标应用软件及其URL;
S12.判断已有扫描结果中是否存在与目标应用软件的URL在完全相同的URL;
若是,将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL,进入步骤S13;
若否,进入步骤S14;
S13.设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描,结束;
S14.对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;
S15.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描;当目标应用软件的URL在已有扫描结果中存在完全相同的URL,则该目标应用软件是明确确定已经进行过扫描的,对于无法明确确定目标应用软件是否进行过扫描的,需要根据关键特征项中相同部分比例进行进一步判断;
S2.将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出;具体步骤如下:
S21.获取目标应用软件的已有扫描结果;
S22.将目标应用软件的URL按照在已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
S23.将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
S24.将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
S25.将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
S26.输出一层扫描结果;对于相同的URL中存在漏洞的分为第一层URL,第一层URL作为一个任务包首先提交扫描并输出扫描结果,通过本层扫描可以查看之前存在的漏洞在当前扫描的目标应用软件中是否已经解决,再依次扫描二层URL及三层URL,并更新扫描结果。
实施例3:
如图2所示,本发明提供一种基于预加载的安全扫描方法,包括如下步骤:
S1.获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;具体步骤如下:
S11.获取待扫描的目标应用软件及其URL;
S12.判断在已有扫描结果中是否存在与目标应用软件的URL完全相同的URL;
若是,将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL,进入步骤S13;
若否,进入步骤S14;
S13.设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描,结束;具体步骤如下:
S131.判断目标应用软件的待扫描主机IP及扫描规则是否与标记URL对应的已有扫描结果相同;
若是,进入步骤S132;
若否,进入步骤S133;
S132.使用标记URL对应的已有扫描结果作为目标应用软件的扫描结果,结束;
S133.若待扫描主机IP有变更或扫描规则有变化,则对待扫描主机IP或扫描规则重新配置,已有扫描结果进行追加扫描,结束;对于已进行过扫描,且目标应用软件的主机IP、URL及扫描规则和之前没有变化则直接使用已有扫描结果,而当主机IP或目标应用软件功能有新增,扫描规则有变化,则重现配置后进行扫描;
S14.对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;具体步骤如下:
S141.获取目标应用软件URL及已有扫描结果URL的各特征项;所述URL的特征项包括协议类型、域名或主机名、端口、路径和文件名、参数部分及锚部分;
S142.从目标应用软件URL及已有扫描结果URL的特征项中提取出关键特征项;关键特征项包括路径和文件名、参数部分及锚部分;路径、文件名、参数和锚,都是由应用软件的开发人员自行定义的,随机性很大,通常都是各不相同的,可以作为判定应用软件的条件;主机IP和扫描规则不作为关键特征项,原因在于多数应用软件在部署时不一定部署在同一主机上,并且主机IP本身也存在变化的情况;扫描规则相当于检查项,检查项的多少也不能作为判断的依据,并且通常来说扫描时对于不同的应用软件扫描规则一般会默认选择或者全选,在扫描结果中,虽然扫描规则的不同可能会导致漏洞的不同,但是无法作为判断当前进行扫描的应用软件与之前扫描过的应用软件是否相同的依据;例如:http://www.example.com:8080/path/example.asp?param=value#name去掉协议类型、域名或主机名、端口部分,剩余的路径及文件名、参数部分、锚部分即为关键特征项,即/path/example.asp?param=value#name;
S15.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描;具体步骤如下:
S151.对比例阈值进行设定;
S152.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值;
若否,进入步骤S153;
若是,进入步骤S154;
S153.判定目标应用软件未进行过扫描,对目标应用软件进行顺序扫描,并输出扫描结果,结束;
S154.判定目标应用软件已进行过扫描;设定比例阈值例如100%,50%,10%,比例阈值可以进行配置,满足阈值要求时,及判断目标应用软件,进行过扫描,并加载已有扫描结果,如存在多个扫描结果,优先显示最近的扫描结果作为已有扫描结果,其他扫描结果作为已有扫描结果的备选;
S2.将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出;具体步骤如下:
S21.获取目标应用软件的已有扫描结果;
S22.将目标应用软件的URL按照再已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
S23.将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
S24.将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
S25.将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
S26.输出一层扫描结果;对于相同的URL中存在漏洞的分为第一层URL,第一层URL作为一个任务包首先提交扫描并输出扫描结果,通过本层扫描可以查看之前存在的漏洞在当前扫描的目标应用软件中是否已经解决,再依次扫描二层URL及三层URL,并更新扫描结果。
实施例4:
如图2所示,本发明提供一种基于预加载的安全扫描方法,包括如下步骤:
S1.获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;具体步骤如下:
S11.获取待扫描的目标应用软件及其URL;
S12.判断在已有扫描结果中是否存在与目标应用软件的URL完全相同的URL;
若是,将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL,进入步骤S13;
若否,进入步骤S14;
S13.设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描,结束;具体步骤如下:
S131.判断目标应用软件的待扫描主机IP及扫描规则是否与标记URL对应的已有扫描结果相同;
若是,进入步骤S132;
若否,进入步骤S133;
S132.使用标记URL对应的已有扫描结果作为目标应用软件的扫描结果,结束;
S133.若待扫描主机IP有变更或扫描规则有变化,则对待扫描主机IP或扫描规则重新配置,已有扫描结果进行追加扫描,结束;
S14.对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;具体步骤如下:
S141.获取目标应用软件URL及已有扫描结果URL的各特征项;所述URL的特征项包括协议类型、域名或主机名、端口、路径和文件名、参数部分及锚部分;
S142.从目标应用软件URL及已有扫描结果URL的特征项中提取出关键特征项;关键特征项包括路径和文件名、参数部分及锚部分;
S15.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描;具体步骤如下:
S151.对比例阈值进行设定;
S152.判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值;
若否,进入步骤S153;
若是,进入步骤S154;
S153.判定目标应用软件未进行过扫描,对目标应用软件进行顺序扫描,并输出扫描结果,结束;
S154.判定目标应用软件已进行过扫描;
S2.将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出;具体步骤如下:
S21.获取目标应用软件的已有扫描结果;
S22.将目标应用软件的URL按照在已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
S23.将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
S24.将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
S25.将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
SS25.将在已有扫描结果中存在,但在目标应用软件中不存在的URL,设定为第四层URL,对第四层URL进行扫描,将扫描结果设定为可选展示,与一层扫描结果合并;
S26.输出一层扫描结果与已有扫描结果的对比结果;
对于四层URL,不作为任务包提交扫描,但是在整体扫描完成之后,无论此部分URL是否存在漏洞,将之前的扫描结果合并到当前的扫描结果中,默认隐藏,可以选择进行展示;整体扫描完成之后,完整的扫描结果默认展示目标应用软件当前的扫描结果,也可以显示通过选择展示当前扫描结果与之前扫描结果的对比结果。
实施例5:
如图3所示,本发明提供一种基于预加载的安全扫描装置,包括:
已有扫描结果加载模块1,用于获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;
分层扫描模块2,用于将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出。
实施例6:
如图3所示,本发明提供一种基于预加载的安全扫描装置,包括:
已有扫描结果加载模块1,用于获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;已有扫描结果加载模块1包括:
目标应用软件URL获取单元1.1,用于获取待扫描的目标应用软件及其URL;
URL判断单元1.2,用于判断在已有扫描结果中是否存在与目标应用软件的URL完全相同的URL;
标记URL设置单元1.3,用于将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL;
已有扫描结果使用单元1.4,用于当在已有扫描结果中存在完全相同的URL时,设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描,结束;
URL处理单元1.5,用于对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;
目标应用软件已扫描判定单元1.6,用于判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描;
分层扫描模块2,用于将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出;分层扫描模块2包括:
已有扫描结果获取单元2.1,用于获取目标应用软件的已有扫描结果;
URL分层单元2.2,用于将目标应用软件的URL按照在已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
一层扫描单元2.3,用于将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
二层扫描单元2.4,用于将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
三层扫描单元2.5,用于将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
扫描结果输出单元2.6,用于输出一层扫描结果。
实施例7:
如图3所示,本发明提供一种基于预加载的安全扫描装置,包括:
已有扫描结果加载模块1,用于获取待扫描的目标应用软件,判断目标应用软件是否已进行过扫描,并在目标应用软件已进行过扫描时,加载目标应用软件的已有扫描结果;已有扫描结果加载模块1包括:
目标应用软件URL获取单元1.1,用于获取待扫描的目标应用软件及其URL;
URL判断单元1.2,用于判断已有扫描结果中是否存在与目标应用软件的URL在完全相同的URL;
标记URL设置单元1.3,用于将扫描结果中与目标应用软件的URL完全相同的URL设置为标记URL;
已有扫描结果使用单元1.4,用于当在已有扫描结果中存在完全相同的URL时,设定目标应用软件使用已有扫描结果,或对已有扫描结果进行追加扫描;已有扫描结果使用单元1.4包括:
已扫描明确判断子单元,用于判断目标应用软件的待扫描主机IP及扫描规则是否与标记URL对应的已有扫描结果相同;
原有扫描结果使用子单元,用于使用标记URL对应的已有扫描结果作为目标应用软件的扫描结果;
原有扫描结果追加子单元,用于当待扫描主机IP有变更或扫描规则有变化时,对待扫描主机IP或扫描规则重新配置,已有扫描结果进行追加扫描,结束;
URL处理单元1.5,用于对目标应用软件URL及已有扫描结果URL进行处理,提取关键特征项;URL处理单元1.5包括:
特征项获取子单元,用于获取目标应用软件URL及已有扫描结果URL的各特征项;所述URL的特征项包括协议类型、域名或主机名、端口、路径和文件名、参数部分及锚部分;
关键特征提取子单元,用于从目标应用软件URL及已有扫描结果URL的特征项中提取出关键特征项;关键特征项包括路径和文件名、参数部分及锚部分;
目标应用软件已扫描判定单元1.6,用于判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值,若是,则判定目标应用软件已进行过扫描;目标应用软件已扫描判定单元1.6包括:
比例阈值设定子单元,用于对比例阈值进行设定;
已扫描非明确判断子单元,用于判断目标应用软件URL的关键特征项与已有扫描结果URL的关键特征项是否存在相同部分,且相同部分比例是否超过设定比例阈值;
顺序扫描子单元,用于判定目标应用软件未进行过扫描,对目标应用软件进行顺序扫描,并输出扫描结果;
目标软件已扫描判定子单元,用于判定目标应用软件已进行过扫描;
分层扫描模块2,用于将目标应用软件的已有扫描结果根据漏洞对URL进行分层,并对各层URL以漏洞为优先级分别进行再次扫描,再将各层URL的扫描结果进行汇总输出;分层扫描模块2包括:
已有扫描结果获取单元2.1,用于获取目标应用软件的已有扫描结果;
URL分层单元2.2,用于将目标应用软件的URL按照在已有扫描结果中是否存在相同URL及是否存在漏洞进行分层;
一层扫描单元2.3,用于将在已有扫描结果中存在的相同URL,且在已有扫描结果中存在漏洞的设定为第一层URL,对第一层URL进行扫描,并输出一层扫描结果;
二层扫描单元2.4,用于将在已有扫描结果中存在的相同URL,但在已有扫描结果中不存在漏洞的设定为第二层URL,对第二层URL进行扫描,并将扫描结果更新到一层扫描结果;
三层扫描单元2.5,用于将在已有扫描结果中不存在的URL,设定为第三层URL,对第三层URL进行扫描,并将扫描结果更新到一层扫描结果;
四层扫描单元2.7,用于将在已有扫描结果中存在,但在目标应用软件中不存在的URL,设定为第四层URL,对第四层URL进行扫描,将扫描结果设定为可选展示,与一层扫描结果合并;
扫描结果输出单元2.6,输出一层扫描结果与已有扫描结果的对比结果。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。