一种水平权限漏洞的识别方法、装置及其设备与流程

文档序号:17324635发布日期:2019-04-05 21:43阅读:238来源:国知局
一种水平权限漏洞的识别方法、装置及其设备与流程
本申请涉及互联网
技术领域
,尤其是涉及一种水平权限漏洞的识别方法、装置及其设备。
背景技术
:伴随着大数据时代的到来,越来越多的数据开始被生产、加工、存储和消费,数据的安全成为越来越重要的问题。目前,数据泄露的方式有很多种,比如sql(structuredquerylanguage,结构化查询语言)注入、大规模爬取等。其中,网站的权限管理可以分为垂直权限和水平权限,垂直权限是指:用户拥有不同角色,每种角色的页面访问权限不同。水平权限是指:相同角色的不同用户访问内容的权限控制,如网上银行用户只允许访问属于自己的信用卡数据。目前,水平权限漏洞是一种严重危害到用户隐私和用户数据的安全漏洞。在传统方式中,为了识别是否存在水平权限漏洞,则可以通过人工访问url(uniformresourcelocator,统一资源定位符)的方式,来判断是否存在水平权限漏洞,但是,面对大量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的方式判断是否存在水平权限漏洞,提高识别的效率,并降低人工成本。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。图1a和图1b是本申请一种实施方式中的应用场景示意图;图1c是本申请一种实施方式中的水平权限漏洞的识别方法的流程图;图2a是本申请另一种实施方式中的应用场景示意图;图2b是本申请另一种实施方式中的水平权限漏洞的识别方法的流程图;图3a是本申请另一种实施方式中的水平权限漏洞的识别方法的流程图;图3b是本申请另一种实施方式中的水平权限漏洞的识别方法的流程图;图4是本申请一种实施方式中的水平权限漏洞的识别装置的结构图;图5是本申请另一种实施方式中的水平权限漏洞的识别装置的结构图;图6是本申请另一种实施方式中的水平权限漏洞的识别装置的结构图;图7是本申请另一种实施方式中的水平权限漏洞的识别装置的结构图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提出了一种水平权限漏洞的识别方法,该方法可以应用于识别设备,该识别设备可以用于识别url信息是否存在水平权限漏洞。其中,该识别设备可以是pc(personalcomputer,个人计算机)、笔记本电脑、移动终端、服务器、数据平台、电商平台等,对此识别设备的类型不做详加限制。与传统方式相比,在本申请实施例中,可以训练出第一特征、第二特征与特征值的对应关系,如通过深度学习算法训练出第一特征、第二特征与特征值的对应关系。然后,可以使用该对应关系预测url信息是否存在水平权限漏洞,从而实现水平权限漏洞的发现和识别,提高识别的效率,并降低人工成本。为了实现水平权限漏洞的识别方法,可以涉及训练阶段和预测阶段,在训练阶段,可以训练出第一特征、第二特征与特征值的对应关系。在预测阶段,可以基于训练阶段得到的对应关系,预测url信息是否存在水平权限漏洞。以下结合具体实施例,对训练阶段和预测阶段的处理过程进行说明。参见图1a和图1b所示,为训练阶段的应用场景示意图。url获取模块可以获取到url信息,并将该url信息输出给扫描模块和特征提取模块。扫描模块可以通过不同角色的用户信息,对url信息进行扫描(对url信息进行访问),得到不同角色的访问结果,并将访问结果输出给特征提取模块。特征提取模块对url信息进行特征提取,得到url信息对应的第一特征。特征提取模块对访问结果进行特征提取,得到访问结果对应的第二特征。特征提取模块将url信息对应的第一特征、访问结果对应的第二特征存储到张量库。在图1a中,扫描模块还可以将访问结果输出给过滤模块,由过滤模块根据该访问结果分析出url信息的识别结果,该url信息的识别结果可以是存在水平权限漏洞或者不存在水平权限漏洞。具体的,若该访问结果与预设过滤策略匹配,则确定url信息的识别结果是不存在水平权限漏洞;若该访问结果与预设过滤策略不匹配,则由人工确定url信息的识别结果是存在水平权限漏洞或者不存在水平权限漏洞。过滤模块将url信息的识别结果存储到张量库。经过上述处理,张量库可以存储第一特征、第二特征、url信息的识别结果,然后,可以将第一特征、第二特征、url信息的识别结果输出给权限识别神经网络,由该权限识别神经网络采用深度学习算法,训练出第一特征、第二特征、与特征值的对应关系,继而可以利用这个训练结果识别水平权限漏洞。与图1a不同的是,在图1b中,张量库可以存储第一特征、第二特征,而没有url信息的识别结果,然后,将该第一特征、该第二特征输出给权限识别神经网络,由该权限识别神经网络采用深度学习算法,训练出第一特征、第二特征、与特征值的对应关系,继而可以利用这个训练结果识别水平权限漏洞。图1a与图1b的区别在于,在图1a中,权限识别神经网络是基于第一特征、第二特征、url信息的识别结果,采用深度学习算法训练第一特征、第二特征、与特征值的对应关系,这个深度学习算法是有监督的深度学习算法,即在学习过程中,第一特征、第二特征有对应的url信息的识别结果,即有标注数据。在图1b中,权限识别神经网络是基于第一特征、第二特征,采用深度学习算法训练第一特征、第二特征、与特征值的对应关系,这个深度学习算法是无监督的深度学习算法,即在学习过程中,第一特征、第二特征没有标注数据。参见图1c所示,为训练阶段的水平权限漏洞的识别方法的流程图。步骤101,获取第一url信息,并对所述第一url信息进行访问,得到第一访问结果。其中,为了区分方便,可以将训练阶段获取的url信息称为第一url信息,并可以将训练阶段得到的访问结果称为第一访问结果。步骤102,获取该第一url信息的第一特征、该第一访问结果的第二特征。其中,为了区分方便,可以将第一url信息对应的特征(对此不做限制)称为第一特征,并将第一访问结果对应的特征(对此不做限制)称为第二特征。步骤103,根据该第一特征、该第二特征,训练第一特征、第二特征与特征值的对应关系。其中,该对应关系用于识别水平权限漏洞。在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。在步骤101中,在一个例子中,针对“获取第一url信息”的过程,可以包括但不限于如下方式:收集用户访问特定业务时产生的url(即线上的url访问数据);对收集的url进行预处理,得到预处理后的第一url信息。其中,在用户访问服务器时会产生大量url,这些url可以是针对相同业务,也可以是针对不同业务,例如,业务类型包括下单业务、购物车业务、搜索业务、订单业务,可以将购物车业务和订单业务作为特定业务,而下单业务和搜索业务不是特定业务,当然,上述特定业务只是一个示例,对此不做限制。基于此,可以将访问特定业务(如购物车业务和订单业务)时产生的url收集起来,如将访问购物车业务时产生的url1-url100收集起来,将访问订单业务时产生的url101-url300收集起来,但是不需要收集访问下单业务和搜索业务的url。由于每个url的处理过程相同,后续以一个url1为例进行说明。其中,针对“对收集的url进行预处理,得到预处理后的第一url信息”的过程,可以包括:对收集的url进行去重复处理和/或分类处理,得到预处理后的第一url信息。当然,去重复处理、分类处理只是预处理的两种实现方式,对此预处理的实现方式不做限制,如还可以去除无用标点、去除无用字等。其中,对收集的url进行去重复处理是指:假设url1和url2相同,则可以去除重复的url,只保留一个url即可,例如,去除url2,只保留url1。其中,对收集的url进行分类处理是指:按照业务类型将所有url划分到不同的url分组。例如,由于特定业务的业务类型是购物车业务和订单业务,因此,为购物车业务分配url分组1,并将url1-url100划分到url分组1,此外,为订单业务分配url分组2,并将url101-url300划分到url分组2。在一个例子中,针对“对第一url信息进行访问,得到第一访问结果”的过程,可以包括但不限于如下方式:通过使用至少一个角色(如一个或者多个)的用户信息,对第一url信息进行访问,得到与该角色对应的第一访问结果。其中,角色包括但不限于未登陆用户、没有权限用户、具有权限用户等。未登陆用户是指没有成功注册的用户,例如,使用用户信息(用户名“张三”+密码“123456”)对url1进行访问,这个用户信息没有在服务器注册过。没有权限用户是指已经成功注册的用户,但是没有访问第一url信息的权限,例如,使用用户信息(用户名“tuzi”+密码“w189654”)对url1进行访问,这个用户信息已经成功在服务器注册过,但是没有访问url1的权限。具有权限用户是指已经成功注册的用户,且具有访问第一url信息的权限,而所述具有权限用户通常可以是网络管理员,例如,可以使用用户信息(如用户名“administrator”+密码“admin123123”等)对url1进行访问,这个用户信息已经成功在服务器注册过,且这个用户信息具有访问url1的权限。在使用未登陆用户对url1进行访问时,得到与该“未登陆用户”对应的第一访问结果1,该第一访问结果1可以包括响应页面信息。例如,若url1不存在水平权限漏洞,则第一访问结果1通常是访问失败页面;若url1存在水平权限漏洞,则第一访问结果1可以是访问失败页面,也可以是访问成功页面。也就是说,若第一访问结果1是访问成功页面,则url1存在水平权限漏洞的可能性很高;若第一访问结果1是访问失败页面,则url1存在水平权限漏洞的可能性较低。但是,上述只是“是否存在水平权限漏洞”的可能性,无法直接确定这个url1是否存在水平权限漏洞,需要采用后续流程继续分析。在使用没有权限用户对url1进行访问时,得到与该“没有权限用户”对应的第一访问结果2,该第一访问结果2可以包括响应页面信息。例如,若url1不存在水平权限漏洞,第一访问结果2通常是访问失败页面;若url1存在水平权限漏洞,第一访问结果2可以是访问失败页面,也可以是访问成功页面。也就是说,若第一访问结果2是访问成功页面,则url1存在水平权限漏洞的可能性很高;若第一访问结果2是访问失败页面,则url1存在水平权限漏洞的可能性较低。但是,上述只是“是否存在水平权限漏洞”的可能性,无法直接确定这个url1是否存在水平权限漏洞,需要采用后续流程继续分析。在使用具有权限用户对url1进行访问时,得到与“具有权限用户”对应的第一访问结果3,第一访问结果3可以包括响应页面信息。例如,若url1不存在水平权限漏洞或存在水平权限漏洞,第一访问结果3可以是访问成功页面。其中,测试工具可以模拟各种角色的用户信息(如未登陆用户、没有权限用户、具有权限用户等),分别对url1进行访问,得到与各角色对应的第一访问结果。例如,得到与未登陆用户对应的第一访问结果1、与没有权限用户对应的第一访问结果2、与具有权限用户对应的第一访问结果3等。针对每个第一访问结果的处理过程相同,后续以一个第一访问结果为例进行说明。其中,模拟用户信息对url1进行访问是指:向服务器发送针对url1的访问请求,且这个访问请求携带该用户信息。进一步的,服务器在接收到该访问请求后,会返回针对该访问请求的响应,这个响应也就是第一访问结果。在步骤102中,在一个例子中,第一url信息的第一特征可以包括但不限于以下之一或任意组合:参数信息(如网络传输协议、主机名称或ip地址、用户名、密码、端口号、路径、查询、信息片段等)、层次特征、统计特征、目录特征、锚文本特征、时序特征、正交特征、长度特征等。上述特征只是第一特征的示例,对此第一特征不做限制,所有表示第一url信息的特征均可以。针对“获取该第一url信息的第一特征”的过程,可以包括但不限于:基于第一url信息,获取到第一url信息的第一特征,对此获取方式不做限制。在一个例子中,所述第一访问结果的第二特征可以包括但不限于以下之一或者任意组合:分组信息;第一访问结果的数据量;同一分组下,相同或者相似的访问结果数量;登陆态编码;第一访问结果的页面大小;第一访问结果的格式;第一访问结果中的关键字信息;第一访问结果中的文本上下文信息。其中,分组信息是指url分组,即第一url信息属于的url分组。例如,购物车业务的第一url信息的分组信息是url分组1,订单业务的第一url信息的分组信息是url分组2。因此,若第一url信息是购物车业务,则分组信息是url分组1,若第一url信息是订单业务,则分组信息是url分组2。其中,第一访问结果的数据量是指第一访问结果的大小,如第一访问结果的字数。由于当第一访问结果是访问成功页面时,访问成功页面可以包括大量内容(如购物车页面的所有内容等),其数据量很大,当第一访问结果是访问失败页面时,访问失败页面可以包括少量内容(如错误码等),其数据量较小。因此,通过第一访问结果的数据量可以区分出访问成功页面或者访问失败页面,而访问成功页面或者访问失败页面的第一访问结果,是区分url是否存在水平权限漏洞的关键因素,因此,可以将第一访问结果的数据量作为第二特征。其中,同一分组下,相同或者相似的访问结果数量是指:相同的第一访问结果的数量。例如,针对url分组1中的100个第一url信息,若存在80个第一url信息的第一访问结果相同,则针对这80个第一url信息,在其对应的第二特征中,相同或者相似的访问结果数量为80。访问结果相同是指内容完全相同,访问结果相似是指大部分内容相同,如超过95%的内容均相同。针对同一url分组,若第一访问结果是访问成功页面,不同url对应的访问成功页面的内容不同,若第一访问结果是访问失败页面,不同url对应的访问失败页面的内容相同或者相似。因此,相同或相似的访问结果数量越大时,说明第一访问结果是访问失败页面的可能性越大,相同或者相似的访问结果数量越小时,说明第一访问结果是访问失败页面的可能性越小。也就是说,通过相同或者相似的访问结果数量可以区分出访问成功页面或者访问失败页面,而访问成功页面或者访问失败页面的第一访问结果,是区分url是否存在水平权限漏洞的关键因素,因此,可以将相同或者相似的访问结果数量作为第二特征。其中,登陆态编码是指:用户对url进行访问时使用的角色,如未登陆用户、没有权限用户、具有权限用户等。对于未登陆用户/没有权限用户来说,当第一访问结果是访问成功页面时,则url存在水平权限漏洞的概率比较高,当第一访问结果是访问失败页面时,则url存在水平权限漏洞的概率比较低。对于具有权限用户来说,当第一访问结果是访问成功页面/访问失败页面时,均无法直接确定url是否存在水平权限漏洞。因此,登陆态编码是区分url是否存在水平权限漏洞的关键因素,也就是说,可以将登陆态编码作为第二特征。其中,第一访问结果的页面大小是指:页面的尺寸、长度等,由于访问成功页面的页面大小比较大,而访问失败页面的页面大小比较小,因此,可以通过第一访问结果的页面大小,来区分出访问成功页面或者访问失败页面,而访问成功页面或者访问失败页面的第一访问结果,是区分url是否存在水平权限漏洞的关键因素,因此,可以将第一访问结果的页面大小作为第二特征。其中,该第一访问结果的格式可以包括:json(javascriptobjectnotation,java脚本对象标记)、jsonp(javascriptobjectnotationpadding,java脚本对象标记的使用模式)、html(hypertextmarkuplanguage,超文本标记语言)等。由于不同的访问失败页面的格式可能相同,不同的访问成功页面的格式可能相同,而访问失败页面和访问成功页面的格式可能不同或者相同,因此,在区分访问成功页面或者访问失败页面时,还可以参考第一访问结果的格式,而访问成功页面或者访问失败页面的第一访问结果,是区分url是否存在水平权限漏洞的关键因素,因此,还可以将第一访问结果的格式作为第二特征。其中,第一访问结果中的关键字信息是指:用于区分url是否存在水平权限漏洞的关键字,例如,当第一访问结果中存在表示用户订单的关键字(如订单号、配送地址、手机号等)时,就说明第一访问结果是访问成功页面,且url存在水平权限漏洞,当第一访问结果中存在表示访问失败的关键字(如加载失败、加载错误等)时,就说明第一访问结果是访问失败页面,且url不存在水平权限漏洞。因此,还可以将第一访问结果中的关键字信息作为第二特征。在从第一访问结果中获取关键字信息时,可以采用朴素贝叶斯算法从第一访问结果中获取关键字信息,当然,该朴素贝叶斯算法只是本申请的一个示例,对此获取方式不做限制,只要能够从第一访问结果中获取到关键字信息即可。其中,第一访问结果中的文本上下文信息是指:用于区分url是否存在水平权限漏洞的文本上下文,例如,当第一访问结果中存在表示用户订单的文本上下文(例如订单号:57937394000123;又例如,成交时间:2017-8-1616:50:04)时,就可以说明第一访问结果是访问成功页面,且url存在水平权限漏洞,当第一访问结果中存在表示访问失败的文本上下文(如页面加载失败,请检查网络后重试等)时,就说明第一访问结果是访问失败页面,且url不存在水平权限漏洞。因此,还可以将第一访问结果中的文本上下文信息作为第二特征。在从第一访问结果中获取文本上下文信息时,可以采用循环神经网络从第一访问结果中获取文本上下文信息,当然,循环神经网络只是一个示例,对此获取方式不做限制,只要能够从第一访问结果中获取到文本上下文信息即可。当然,上述特征只是第二特征的示例,对此第二特征不做限制,所有表示第一url信息对应的第一访问结果的特征均在本申请实施例的保护范围之内。针对“获取第一访问结果的第二特征”的过程,可以包括但不限于:基于第一访问结果,获取到第一访问结果的第二特征,对此获取方式不做限制。在一个例子中,在步骤103中,可以根据第一特征和第二特征,训练第一特征、第二特征、与特征值的对应关系,也可以根据第一特征、第二特征、第一url信息的识别结果,训练第一特征、第二特征、与特征值的对应关系。进一步的,在步骤103之前,还可以确定上述第一url信息的识别结果。例如,可以根据预设过滤策略确定第一url信息的识别结果,第一url信息的识别结果可以是存在水平权限漏洞,或者,不存在水平权限漏洞。针对“根据预设过滤策略确定第一url信息的识别结果”的过程,可以包括但不限于:若该第一访问结果与预设过滤策略匹配,则确定第一url信息的识别结果是不存在水平权限漏洞;或者,若该第一访问结果与预设过滤策略不匹配,则确定第一url信息的识别结果是存在水平权限漏洞或者不存在水平权限漏洞。其中,预设过滤策略用于过滤不存在水平权限漏洞的第一访问结果,包括但不限于以下之一或者任意组合:用于过滤http(hypertexttransferprotocol,超文本传输协议)错误码的策略;用于过滤json错误码的策略;用于过滤特定关键字的策略。当然,上述只是预设过滤策略的几个示例,对此不做限制。用于过滤http错误码的策略,用于过滤401、404、500、501、502、504等http错误码,即第一访问结果中包括401、404、500、501、502、504等http错误码时,就说明第一访问结果与预设过滤策略匹配,第一url信息的识别结果是不存在水平权限漏洞,否则,第一访问结果与预设过滤策略不匹配。用于过滤json错误码的策略,用于过滤"code":"error"、"message":"rpc_500”等json错误码,即第一访问结果中包括"code":"error"、"message":"rpc_500”等json错误码时,就说明第一访问结果与预设过滤策略匹配,第一url信息的识别结果是不存在水平权限漏洞,否则,第一访问结果与预设过滤策略不匹配。用于过滤特定关键字的策略,用于过滤“未授权访问”、“账号没有入驻”等特定关键字,即第一访问结果中包括“未授权访问”、“账号没有入驻”等特定关键字时,就说明第一访问结果与预设过滤策略匹配,第一url信息的识别结果是不存在水平权限漏洞,否则,第一访问结果与预设过滤策略不匹配。当然,上述只是各预设过滤策略的示例,对于过滤的内容不做限制。其中,上述预设过滤策略是基于用户经验进行设定的,通过统计访问失败页面的相关特征,设置上述预设过滤策略,对于规范化的错误码比较有效。基于预设过滤策略,若第一访问结果与某个预设过滤策略匹配,确定第一url信息的识别结果是不存在水平权限漏洞;若第一访问结果与所有预设过滤策略均不匹配,可以人工确认第一url信息的识别结果,即基于第一访问结果,确认第一url信息的识别结果是存在水平权限漏洞或者不存在水平权限漏洞。在一个例子中,在得到第一url信息对应的第一特征、第一访问结果对应的第二特征、第一url信息的识别结果后,还可以将该第一特征、该第二特征和该识别结果存储到张量库中。其中,张量库可以是一维数组,用于记录第一特征、第二特征与识别结果的对应关系,参见表1所示,为张量库的一个示例,表1是以表格形式存储第一特征、第二特征和识别结果的对应关系,还可以采用其它形式,对此不做限制。而且,在张量库中,数字类结果可以直接存储到张量库中,而为非数字类结果可以先编码,将编码后的内容存储到张量库中。表1第一特征第二特征识别结果第一特征a第二特征a不存在水平权限漏洞第一特征b第二特征b不存在水平权限漏洞第一特征c第二特征c不存在水平权限漏洞第一特征d第二特征d存在水平权限漏洞………在步骤103中,在一个例子中,针对“根据第一特征、第二特征,训练第一特征、第二特征与特征值的对应关系”的过程,可以包括但不限于:将第一特征、第二特征输出给权限识别神经网络,由权限识别神经网络采用深度学习算法,训练第一特征、第二特征与特征值的对应关系,继而可以利用这个训练结果识别水平权限漏洞。或者,将第一特征、第二特征、第一url信息的识别结果输出给权限识别神经网络,由权限识别神经网络采用深度学习算法,训练第一特征、第二特征与特征值的对应关系,继而可以利用这个训练结果识别水平权限漏洞。后续以基于第一特征、第二特征、识别结果进行训练为例。具体的,可以将大量第一特征、第二特征、识别结果的对应关系作为训练数据集,该训练数据集的规模与第一url信息的数量有关,训练数据集的规模越大,则最终的训练结果越准确。该训练数据集被提供给权限识别神经网络进行训练,如权限识别神经网络可以采用6层隐层神经网络,每层网络20个神经元,对训练数据集进行训练,并通过损失函数修正收敛。对此权限识别神经网络的训练过程不做限制,如权限识别神经网络可以采用深度学习算法进行训练。经过权限识别神经网络的训练后,就可以训练出第一特征、第二特征与特征值的对应关系,该特征值可以包括但不限于:存在水平权限漏洞的概率值(如91%),或者,不存在水平权限漏洞的概率值(如92%),对此不做限制。进一步的,在预测阶段,就可以基于上述训练结果(第一特征、第二特征与特征值的对应关系),预测出第二url信息是否存在水平权限漏洞。基于上述技术方案,本申请实施例中,基于第一url信息的第一特征、第一访问结果的第二特征、第一url信息的识别结果,可以训练出第一特征、第二特征、与特征值的对应关系,如通过深度学习算法训练出第一特征、第二特征、与特征值的对应关系,继而使用这个对应关系预测被测url是否存在水平权限漏洞,可以实现水平权限漏洞的发现和识别,不需要或者辅助需要人工访问url的方式来判断是否存在水平权限漏洞,提高识别的效率,降低人工成本。参见图2a所示,为预测阶段的应用场景示意图。url获取模块可以获取到url信息,并将该url信息输出给扫描模块和特征提取模块。扫描模块可以通过不同角色的用户信息,对url信息进行扫描(对url信息进行访问),得到不同角色的访问结果,将访问结果输出给特征提取模块。特征提取模块对url信息进行特征提取,得到url信息对应的第一特征。特征提取模块对访问结果进行特征提取,得到访问结果对应的第二特征。通过第一特征和第二特征查询权限识别神经网络,可以查询到与第一特征和第二特征对应的特征值,并根据特征值识别第二url信息是否存在水平权限漏洞。参见图2b所示,为预测阶段的水平权限漏洞的识别方法的流程图。步骤201,获取第二url信息,并对所述第二url信息进行访问,得到第二访问结果。其中,为了区分方便,可以将预测阶段获取的url信息称为第二url信息,并可以将预测阶段得到的访问结果称为第二访问结果。步骤202,获取该第二url信息的第一特征、该第二访问结果的第二特征。步骤203,通过该第一特征和该第二特征查询映射关系,得到对应的特征值。其中,该映射关系用于记录第一特征、第二特征与特征值的对应关系,也就是,在训练阶段训练出的第一特征、第二特征与特征值的对应关系,参见步骤103。步骤204,根据得到的特征值识别第二url信息是否存在水平权限漏洞。在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。在步骤201中,在一个例子中,针对“获取第二url信息”的过程,可以包括但不限于如下方式:收集用户访问特定业务时产生的url(即线上的url访问数据);对收集的url进行预处理,得到预处理后的第二url信息。其中,针对“对收集的url进行预处理,得到预处理后的第二url信息”的过程,可以包括:对收集的url进行去重复处理和/或分类处理,得到预处理后的第二url信息。当然,去重复处理、分类处理只是预处理的两种实现方式,对此预处理的实现方式不做限制,如还可以去除无用标点、去除无用字等。在一个例子中,针对“对第二url信息进行访问,得到第二访问结果”的过程,可以包括但不限于如下方式:通过使用至少一个角色(如一个或者多个)的用户信息,对第二url信息进行访问,得到与该角色对应的第二访问结果。其中,该角色包括但不限于未登陆用户、没有权限用户、具有权限用户等。其中,步骤201的处理过程与步骤101的处理过程类似,在此不再赘述。在步骤202中,在一个例子中,第二url信息的第一特征可以包括但不限于以下之一或任意组合:参数信息(如网络传输协议、主机名称或ip地址、用户名、密码、端口号、路径、查询、信息片段等)、层次特征、统计特征、目录特征、锚文本特征、时序特征、正交特征、长度特征等。上述特征只是第一特征的示例,对此第一特征不做限制,所有表示第二url信息的特征均可以。在一个例子中,所述第二访问结果的第二特征可以包括但不限于以下之一或者任意组合:分组信息;第二访问结果的数据量;同一分组下,相同或者相似的访问结果数量;登陆态编码;第二访问结果的页面大小;第二访问结果的格式;第二访问结果中的关键字信息;第二访问结果中的文本上下文信息。当然,上述特征只是第二特征的示例,对此第二特征不做限制,所有表示第二url信息对应的第二访问结果的特征均在本申请实施例的保护范围之内。其中,步骤202的处理过程与步骤102的处理过程类似,在此不再赘述。在步骤203中,在一个例子中,针对“通过该第一特征和该第二特征查询映射关系,得到对应的特征值”的过程,可以包括但不限于如下方式:由于在训练阶段中,已经训练出第一特征、第二特征与特征值的对应关系,因此,在预测阶段,通过使用该第一特征和该第二特征(即步骤202得到的第一特征和第二特征)查询映射关系(用于记录训练阶段训练出的第一特征、第二特征与特征值的对应关系),就可以得到与该第一特征和该第二特征对应的特征值。在一个例子中,若由权限识别神经网络训练出第一特征、第二特征与特征值的对应关系,则:在得到该第一特征和该第二特征(即步骤202得到的第一特征和第二特征)后,可以将该第一特征和该第二特征输出给权限识别神经网络,由所述权限识别神经网络查询自身的训练结果,得到与该第一特征和该第二特征对应的特征值,并返回与该第一特征和该第二特征对应的特征值。在步骤204中,在一个例子中,针对“根据得到的特征值识别第二url信息是否存在水平权限漏洞”的过程,可以包括但不限于如下方式:由于特征值可以为存在水平权限漏洞的概率值,或者,不存在水平权限漏洞的概率值,因此,若得到的特征值是存在水平权限漏洞的概率值,则:当该概率值大于预设第一阈值(如80%)时,则识别该第二url信息存在水平权限漏洞;当该概率值不大于该预设第一阈值时,则识别该第二url信息不存在水平权限漏洞。或者,若得到的特征值是不存在水平权限漏洞的概率值,则:当该概率值大于预设第二阈值(如80%)时,则识别该第二url信息不存在水平权限漏洞;当该概率值不大于该预设第二阈值时,则识别该第二url信息存在水平权限漏洞。其中,预设第一阈值和预设第二阈值,均可以根据实际经验进行配置。基于上述技术方案,本申请实施例中,基于第一url信息的第一特征、第一访问结果的第二特征、第一url信息的识别结果,可以训练出第一特征、第二特征、与特征值的对应关系,如通过深度学习算法训练出第一特征、第二特征、与特征值的对应关系,继而使用这个对应关系预测被测url是否存在水平权限漏洞,可以实现水平权限漏洞的发现和识别,不需要或者辅助需要人工访问url的方式来判断是否存在水平权限漏洞,提高识别的效率,降低人工成本。参见图3a所示,为训练阶段的水平权限漏洞的识别方法的流程图。步骤311,获取第一url信息,并对所述第一url信息进行访问,得到第一访问结果。其中,为了区分方便,可以将训练阶段获取的url信息称为第一url信息,并可以将训练阶段得到的访问结果称为第一访问结果。步骤312,获取该第一访问结果的第二特征。第二特征包括但不限于以下之一或者任意组合:分组信息;第一访问结果的数据量;同一分组下,相同或者相似的访问结果数量;登陆态编码;第一访问结果的页面大小;第一访问结果的格式;第一访问结果中的关键字信息;第一访问结果中的文本上下文信息。步骤313,根据该第二特征,训练第二特征与特征值的对应关系,其中,该对应关系可以用于识别水平权限漏洞。具体的,可以根据所述第二特征、所述第一url信息的识别结果,训练第二特征与特征值的对应关系。在一个例子中,在根据该第二特征、第一url信息的识别结果,训练第二特征与特征值的对应关系之前,还可以根据预设过滤策略确定第一url信息的识别结果;第一url信息的识别结果是存在水平权限漏洞,或者,不存在水平权限漏洞。若第一访问结果与预设过滤策略匹配,确定第一url信息的识别结果是不存在水平权限漏洞;或者,若第一访问结果与预设过滤策略不匹配,确定第一url信息的识别结果是存在水平权限漏洞或者不存在水平权限漏洞。其中,图3a所示的流程与图1c所示的流程相比,只是不存在第一url信息对应的第一特征,而其它处理过程类似,在此不再重复赘述。参见图3b所示,为预测阶段的水平权限漏洞的识别方法的流程图。步骤321,获取第二url信息,并对所述第二url信息进行访问,得到第二访问结果。其中,为了区分方便,可以将预测阶段获取的url信息称为第二url信息,并可以将预测阶段得到的访问结果称为第二访问结果。步骤322,获取该第二访问结果的第二特征。第二特征包括但不限于以下之一或者任意组合:分组信息;第二访问结果的数据量;同一分组下,相同或者相似的访问结果数量;登陆态编码;第二访问结果的页面大小;第二访问结果的格式;第二访问结果中的关键字信息;第二访问结果中的文本上下文信息。步骤323,通过该第二特征查询映射关系,得到对应的特征值。该映射关系用于记录第二特征与特征值的对应关系,也就是训练阶段训练的对应关系。步骤324,根据得到的特征值识别第二url信息是否存在水平权限漏洞。其中,图3b所示的流程与图2b所示的流程相比,只是不存在第二url信息对应的第一特征,而其它处理过程类似,在此不再重复赘述。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别装置,如图4所示,为本申请提出的水平权限漏洞的识别装置的结构图。获取模块401,用于获取第一url信息,对第一url信息进行访问,得到第一访问结果;获取第一url信息的第一特征、所述第一访问结果的第二特征;训练模块402,用于根据所述第一特征和所述第二特征,训练第一特征、第二特征、与特征值的对应关系;其中,所述对应关系用于识别水平权限漏洞。在一个例子中,所述第二特征可以包括但不限于以下之一或者任意组合:分组信息;所述第一访问结果的数据量;同一分组下,相同或相似的访问结果数量;登陆态编码;所述第一访问结果的页面大小;所述第一访问结果的格式;所述第一访问结果中的关键字信息;所述第一访问结果中的文本上下文信息。在一个例子中,所述训练模块402,具体用于在根据所述第一特征和所述第二特征,训练第一特征、第二特征、与特征值的对应关系的过程中,根据所述第一特征、所述第二特征、所述第一url信息的识别结果,训练第一特征、第二特征、与特征值的对应关系;水平权限漏洞的识别装置还包括(图中未示出):确定模块,用于根据预设过滤策略确定所述第一url信息的识别结果;所述第一url信息的识别结果是存在水平权限漏洞,或者,不存在水平权限漏洞;其中,在根据预设过滤策略确定所述第一url信息的识别结果的过程中,若第一访问结果与预设过滤策略匹配,确定所述第一url信息的识别结果是不存在水平权限漏洞;或者,若第一访问结果与预设过滤策略不匹配,确定所述第一url信息的识别结果是存在水平权限漏洞或者不存在水平权限漏洞;其中,所述预设过滤策略包括以下之一或者任意组合:用于过滤http错误码的策略;用于过滤json错误码的策略;用于过滤特定关键字的策略。所述获取模块401,还用于获取第二url信息,对第二url信息进行访问,得到第二访问结果;获取第二url信息的第一特征、第二访问结果的第二特征;通过获取的第一特征和第二特征查询所述对应关系,得到对应的特征值;在一个例子中,水平权限漏洞的识别装置还包括(在图中未示出):识别模块,用于根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别设备,所述水平权限漏洞的识别设备可以包括处理器;其中:所述处理器,用于获取第一url信息,对第一url信息进行访问,得到第一访问结果;获取第一url信息的第一特征、第一访问结果的第二特征;根据所述第一特征、所述第二特征,训练第一特征、第二特征、与特征值的对应关系;其中,所述对应关系用于识别水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:获取第一url信息,对第一url信息进行访问,得到第一访问结果;获取第一url信息的第一特征、第一访问结果的第二特征;根据所述第一特征、所述第二特征,训练第一特征、第二特征、与特征值的对应关系;其中,所述对应关系用于识别水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别装置,如图5所示,为本申请提出的水平权限漏洞的识别装置的结构图。获取模块501,用于获取第二url信息,对所述第二url信息进行访问,得到第二访问结果;获取第二url信息的第一特征、第二访问结果的第二特征;通过所述第一特征和所述第二特征查询映射关系,得到对应的特征值;其中,所述映射关系用于记录第一特征、第二特征与特征值的对应关系;识别模块502,用于根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。在一个例子中,所述第二特征可以包括但不限于以下之一或者任意组合:分组信息;所述第二访问结果的数据量;同一分组下,相同或相似的访问结果数量;登陆态编码;所述第二访问结果的页面大小;所述第二访问结果的格式;所述第二访问结果中的关键字信息;所述第二访问结果中的文本上下文信息;所述特征值具体包括:存在水平权限漏洞的概率值,或者,不存在水平权限漏洞的概率值;所述识别模块502,具体用于若得到的特征值是存在水平权限漏洞的概率值,当该概率值大于预设第一阈值时,则识别所述第二url信息存在水平权限漏洞;或者,若得到的特征值是不存在水平权限漏洞的概率值,当该概率值大于预设第二阈值时,则识别所述第二url信息不存在水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别设备,可以包括:处理器,用于获取第二url信息,对第二url信息进行访问,得到第二访问结果;获取所述第二url信息的第一特征、所述第二访问结果的第二特征;通过所述第一特征和所述第二特征查询映射关系,得到对应的特征值;其中,所述映射关系用于记录第一特征、第二特征与特征值的对应关系;根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:获取第二url信息,对所述第二url信息进行访问,得到第二访问结果;获取所述第二url信息的第一特征、所述第二访问结果的第二特征;通过所述第一特征和所述第二特征查询映射关系,得到对应的特征值;其中,所述映射关系用于记录第一特征、第二特征与特征值的对应关系;根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别装置,如图6所示,为本申请提出的水平权限漏洞的识别装置的结构图。获取模块601,用于获取第一url信息,并对所述第一url信息进行访问,得到第一访问结果;获取所述第一访问结果的第二特征;训练模块602,用于根据所述第二特征,训练第二特征与特征值的对应关系,其中,所述对应关系用于识别水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别设备,所述水平权限漏洞的识别设备可以包括:处理器,用于获取第一url信息,并对所述第一url信息进行访问,得到第一访问结果;获取所述第一访问结果的第二特征;根据所述第二特征,训练第二特征与特征值的对应关系,所述对应关系用于识别水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,存储有若干计算机指令,计算机指令被执行时进行如下处理:获取第一url信息,对所述第一url信息进行访问,得到第一访问结果;获取所述第一访问结果的第二特征;根据所述第二特征,训练第二特征与特征值的对应关系,其中,所述对应关系用于识别水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别装置,如图7所示,为本申请提出的水平权限漏洞的识别装置的结构图。获取模块701,用于获取第二url信息,对第二url信息进行访问,得到第二访问结果;获取第二访问结果的第二特征;通过第二特征查询映射关系,得到对应的特征值;映射关系用于记录第二特征与特征值的对应关系;识别模块702,用于根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种水平权限漏洞的识别设备,可以包括:处理器,用于获取第二url信息,对第二url信息进行访问,得到第二访问结果;获取第二访问结果的第二特征;通过第二特征查询映射关系,得到对应的特征值;映射关系用于记录第二特征与特征值的对应关系;根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:获取第二url信息,对所述第二url信息进行访问,得到第二访问结果;获取所述第二访问结果的第二特征;通过所述第二特征查询映射关系,得到对应的特征值;映射关系用于记录第二特征与特征值的对应关系;根据得到的特征值识别所述第二url信息是否存在水平权限漏洞。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1