网页漏洞检测方法和装置的制造方法

文档序号:9235674阅读:430来源:国知局
网页漏洞检测方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种网页漏洞检测方法和装置。
【背景技术】
[0002]目前,在进行网页漏洞检测时,主要采用以下两中可用的漏洞检测方案:
[0003]1,基于源码补丁,将Webkit官方的补丁代码移植到对应Android源码中,提供安全的Webkit内核。
[0004]虽然采用这种方式比较安全,制作补丁也比较快捷方便,然而,这种方式却无法及时更新,需要自带独立浏览器内核,同时会增大APP的存储体积,或刷R0M,不支持无法root的手机。
[0005]2,基于Hook技术热补丁,参照Webkit官方的补丁代码动态修补APP自身运行空间的Webkit内核,为APP提供安全的浏览器环境。
[0006]虽然采用这种方式能及时更新,不会额外增大APP的存储体积,且无需刷R0M,然而Webkit内核实现复杂,漏洞处代码未导出,位置无法动态定位,同时补丁代码难于脱离框架实现;由于未导出内核接口,也无法直接使用现有的内核架构编写补丁代码。
[0007]此外,采用现有的网页漏洞检测方案总是会有漏洞遗漏,检测出的漏洞并不全面,进一步,现有的方案都是针对底层源代码数据执行操作,当漏洞的类型改变时,并不便于针对不同的漏洞进行修改,因而,操作起来并不灵活。
[0008]针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0009]本发明实施例提供了一种网页漏洞检测方法和装置,以至少解决采用现有的网页漏洞检测技术由于存在漏洞遗漏所导致的检测不全面的技术问题。
[0010]根据本发明实施例的一个方面,提供了一种网页漏洞检测方法,包括:获取待检测的网页数据;在上述待检测的网页数据中查找是否包括目标标签,其中,上述目标标签用于标识上述待检测的网页数据的起始加载位置;若查找出上述目标标签,则在上述网页数据中位于上述目标标签之后的位置上插入漏洞检测代码;在加载上述网页数据时运行上述漏洞检测代码;若通过运行上述漏洞检测代码检测出网页漏洞,则执行与上述网页漏洞对应的操作。
[0011]根据本发明实施例的另一方面,还提供了一种网页漏洞检测装置,包括:获取单元,用于获取待检测的网页数据;查找单元,用于在上述待检测的网页数据中查找是否包括目标标签,其中,上述目标标签用于标识上述待检测的网页数据的起始加载位置;第一插入单元,用于在查找出上述目标标签时,在上述网页数据中位于上述目标标签之后的位置上插入漏洞检测代码;运行单元,用于在加载上述网页数据时运行上述漏洞检测代码;操作单元,用于在通过运行上述漏洞检测代码检测出网页漏洞时,执行与上述网页漏洞对应的操作。
[0012]在本发明实施例中,通过本申请提供的实施例,通过在获取到的待检测的网页数据中查找是否包括目标标签,并在查找到相应的目标标签后,在网页数据中位于目标标签之后的位置插入漏洞检测代码,在加载网页数据时,利用位于起始加载位置的漏洞检测代码检测网页数据中存在的漏洞,实现了在加载的最开始插入漏洞检测代码,与漏洞形成一个级别对抗,保证了对漏洞的全面检测,避免个别遗漏漏洞,进一步,采用上述方案在加载的最开始改动漏洞检测代码,还可以实现针对不同漏洞的检测,进一步保证了漏洞检测的灵活性,进而解决了采用现有的网页漏洞检测技术由于存在漏洞遗漏所导致的检测不全面的技术问题。
【附图说明】
[0013]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0014]图1是根据本发明实施例的一种可选的网页漏洞检测方法的应用场景示意图;
[0015]图2是根据本发明实施例的一种可选的网页漏洞检测方法的流程示意图;
[0016]图3是根据本发明实施例的另一种可选的网页漏洞检测方法的流程示意图;
[0017]图4是根据本发明实施例的一种可选的网页漏洞检测方法中插入漏洞检测代码的不意图;
[0018]图5是根据本发明实施例的另一种可选的网页漏洞检测方法中插入漏洞检测代码的示意图;以及
[0019]图6是根据本发明实施例的一种可选的网页漏洞检测装置的示意图。
【具体实施方式】
[0020]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0021]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0022]实施例1
[0023]根据本发明实施例,提供了一种网页漏洞检测方法的实施例,其中,上述网页漏洞检测方法可以但不限于应用于如图1所示的网络环境中,其中,上述网络环境中包括终端102及服务器104。可选地,在本实施例中,上述终端102可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、PC机。可选地,在本实施例中,上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。例如,在终端102上的浏览器中输入预定的统一资源定位URL(Uniform Resource Locator)地址,通过网络从相应的服务器104中获取对应的网页数据,并对上述网页数据进行漏洞检测。上述举例只是一种示例,本实施例对此不做任何限定。
[0024]根据本发明实施例,提供了一种网页漏洞检测方法,如图2所示,该方法包括:
[0025]S202,获取待检测的网页数据;
[0026]S204,在待检测的网页数据中查找是否包括目标标签,其中,目标标签用于标识待检测的网页数据的起始加载位置;
[0027]S206,若查找出目标标签,则在网页数据中位于目标标签之后的位置上插入漏洞检测代码;
[0028]S208,在加载网页数据时运行漏洞检测代码;
[0029]S210,若通过运行漏洞检测代码检测出网页漏洞,则执行与网页漏洞对应的操作。
[0030]可选地,在本实施例中,上述网页漏洞检测可以但不限于应用于网页的跨域漏洞检测,其中,跨域指的是突破同源策略,实现两个源之间的交互访问,而同源策略指的是同一个源中记载文本或脚本与来自其他源中资源的交互方式,其中,拥有相同的协议、端口和主机的两个页面属于同一个源。例如,在加载待检测的网页数据时,由于在网页数据的最开始插入了漏洞检测代码,从而实现了在加载过程中先利用最高优先级的漏洞检测代码执行安全检测,保证了对网页数据的全面的漏洞检测,避免遗漏漏洞;进一步,可以修改检测代码,进而实现对上述网页漏洞的灵活控制。
[0031 ] 可选地,在本实施例中,如图3所示,在获取待检测的网页数据之前,还包括:
[0032]S302,终端根据浏览器中输入的URL地址向服务器发送用于获取网页数据的获取请求;
[0033]S304,响应获取请求服务器将向终端返回相应的网页数据。
[0034]可选地,在本实施例中,在网页数据中,上述漏洞检测代码的插入方式可以包括但不限于以下至少之一:在网页数据中位于目标标签之后的位置上插入漏洞检测代码、在待检测的网页数据中的第一行代码之前插入漏洞检测代码。
[0035]可选地,在本实施例中,上述在待检测的网页数据中查找到的目标标签可以包括但不限于:头标签,其中,上述标签可以用于标识网页数据的起始加载位置。例如,请求网页前4k的数据,并查找其中是否包括〈head〉头标签。
[0036]可选地,在本实施例中,上述在网页数据中位于目标标签之后的位置上插入漏洞检测代码包括但不限于:在网页数据中位于目标标签之后、且与目标标签相邻的位置上插入漏洞检测代码。可选地,在本实施例中,上述漏洞检测代码包括但不限于JavaScript代码。
[0037]可选地,在本实施例中,上述要插入的JavaScript代码可以包括但不限于加载至内存。可选地,在本实施例中,上述加载方式可以包括但不限于以下至少之一:通过HTTP协议请求服务器上存储的JavaScript代码;将JavaScript代码放置到Android工程项目目录的 Assets 目录下,再调用 Context.getAssets ().0pen (JavaScript, js)方法进行本地读取。进一步,通过HTTP协议请求的方式,可以保证每次读取的JavaScript代码都是服务器最新的;通过本地Assets目录读取JavaScript代码的方式,因为不需要网络请求,速度性能上会有所提升。
[0038]可选地,在本实施例中,在加载网页数据时运行漏洞检测代码可以包括但不限于:按照预定的加载顺序对网页数据中的各个部分进行加载,其中,在准备加载各个部分中的当前部分时通过运行漏洞检测代码对当前部分进行漏洞检测。
[0039]可选地,在本实施例中,执行与网页漏洞对应的操作可以包括但不限于以下至少之一:中止加载网页数据中与网页漏洞对应的网页数据、上报网页漏洞。
[0040]具体
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1