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

文档序号:9235674阅读:来源:国知局
结合以下示例进行描述,终端从服务器获取到URL地址对应的网页数据,首先请求前4k数据,查找其中是否包括〈head〉头标签,若查找到该标签,则将上述JavaScript代码插入到上述〈head〉头标签之后、且与上述〈head〉头标签相邻的位置上,如图4所示。进一步,加载上述已插入JavaScript代码的网页数据,运行上述用于检测网页漏洞的JavaScript代码,在相应的网页数据之前添加hook检测逻辑代码,当检测到网页中的网页漏洞时,则中止加载网页数据中与网页漏洞对应的网页数据或上报网页漏洞。
[0041]进一步,在加载网页数据的过程中,最终网页内容展示的并不一定是真实URL中的内容,其中,一些网站会在URL访问请求中进行重定向跳转,这时URL地址的实质已经发生了变化,所以可以通过调用以下代码:
[0042]httpUrIConnect1n.getResponseCode ()
[0043]执行网络请求,并使用代码urlConnect1n.getURL()获取到真实URL,如果这个真实URL和shouldlnterceptRequest传入的URL不一致,则认为发生重定向,立即中断执行,交与系统处理,系统会再次将真实URL传入,从而实现只在真实URL中插入JavaScript检测代码,避免了系统因为重定向多次插入所导致的速率较低的问题,进而保证了插入漏洞检测代码的稳定性。
[0044]通过本申请提供的实施例,通过在获取到的待检测的网页数据中查找是否包括目标标签,并在查找到相应的目标标签后,在网页数据中位于目标标签之后的位置插入漏洞检测代码,在加载网页数据时,利用位于起始加载位置的漏洞检测代码检测网页数据中存在的漏洞,实现了在加载的最开始插入漏洞检测代码,与漏洞形成一个级别对抗,保证了对漏洞的全面检测,避免个别遗漏漏洞,进一步,采用上述方案在加载的最开始改动漏洞检测代码,还可以实现针对不同漏洞的检测,进一步保证了漏洞检测的灵活性。
[0045]作为一种可选的方案,在网页数据中位于目标标签之后的位置上插入漏洞检测代码包括:
[0046]SI,在网页数据中位于目标标签之后、且与目标标签相邻的位置上插入漏洞检测代码。
[0047]可选地,在本实施例中,上述目标标签可以包括但不限于:网页数据中的头标签。其中,漏洞检测代码插入的位置可以包括但不限于:位于目标标签之后、且与目标标签相邻的位置。
[0048]可选地,在本实施例中,上述目标标签可以但不限于网页数据的头标签,在网页数据中位于目标标签之后、且与目标标签相邻的位置上插入漏洞检测代码包括:
[0049]S12,在头标签以及头标签之后的第一行代码之间插入漏洞检测代码。
[0050]例如,在服务器返回的网页数据中,先请求前4k数据,查找其中是否包括〈head〉头标签,如图4所示,若查找到存在上述标签,则将上述漏洞检测代码(例如,用于检测跨域漏洞的JavaScript检测代码)插入到上述头标签之后、且与目标标签相邻的位置上,如图4所示。
[0051]通过本申请提供的实施例,通过将漏洞检测代码插入到网页数据的最开始位置,拥有了网页数据加载的最早时机,从而保证了对网页漏洞的全面检测,避免由于一些数据已经加载而导致遗漏个别网页漏洞的问题。
[0052]作为一种可选的方案,在待检测的网页数据中查找是否包括目标标签之后,还包括:
[0053]SI,若未查找出目标标签,则在待检测的网页数据中的第一行代码之前插入漏洞检测代码。
[0054]可选地,在本实施例中,在网页数据中未查找到目标标签时,S卩,该网页数据中没有标准的头标签,则将上述漏洞检测代码插入到待检测的网页数据中的第一行代码之前,即,网页的最开始位置,如图5所示。
[0055]例如,在服务器返回的网页数据中,先请求前4k数据,查找其中是否包括〈head〉头标签,若未查找到存在上述〈head〉头标签,则如图5所示,将上述漏洞检测代码(例如,用于检测跨域漏洞的JavaScript检测代码)插入到上述网页数据中的第一行代码之前,如图5所示。
[0056]通过本申请提供的实施例,通过将漏洞检测代码插入到网页数据的最开始位置,拥有了网页数据加载的最早时机,从而保证了对网页漏洞的全面检测,避免由于一些数据已经加载而导致遗漏个别网页漏洞的问题。
[0057]作为一种可选的方案,执行与网页漏洞对应的操作包括以下至少之一:
[0058]I),中止加载网页数据中与网页漏洞对应的网页数据;
[0059]例如,在加载插入漏洞检测代码(例如,用于检测跨域漏洞的JavaScript检测代码)网页数据时,当检测到网页漏洞时,则控制中止对该网页漏洞所对应的部分的网页数据的加载,例如,跳过或忽略该部分网页数据。
[0060]2),上报网页漏洞。
[0061]例如,在加载插入漏洞检测代码(例如,用于检测跨域漏洞的JavaScript检测代码)网页数据时,当检测到网页漏洞时,为了减少由于误判而导致的错误中止操作,可以将上述检测出的网页漏洞先上报服务器,以使服务器可以统一记录,在准确判断出是网页漏洞时,再做出相应漏洞处理。
[0062]通过本申请提供的实施例,通过对检测出的网页漏洞执行与其对应的操作,实现对网页漏洞的及时处理,当针对不同的网页漏洞检测时,在实时修改漏洞检测代码后,同时可对检测出的网页漏洞作出实时处理,保证了漏洞检测的实时性。
[0063]作为一种可选的方案,
[0064]SI,在加载网页数据时运行漏洞检测代码包括:
[0065]S12,按照预定的加载顺序对网页数据中的各个部分进行加载,其中,在准备加载各个部分中的当前部分时通过运行漏洞检测代码对当前部分进行漏洞检测;
[0066]S2,中止加载网页数据中与网页漏洞对应的网页数据包括:
[0067]S22,若检测出当前部分出现漏洞,则跳过对当前部分的加载。
[0068]具体结合以下示例进行描述,按照预定的加载顺序加载上述已插入JavaScript代码的网页数据,运行上述用于检测网页漏洞的JavaScript代码,在网页数据中的各个部分之前添加hook检测逻辑代码,在加载各个部分中的当前部分时,若检测到网页漏洞,则中止加载网页数据中与网页漏洞对应的当前部分的网页数据,例如,跳过对与网页漏洞对应的当前部分的网页数据的加载。对于其他未检测出网页漏洞的数据,可继续加载。
[0069]通过本申请提供的实施例,通过按照预定的加载顺序对网页数据中的各个部分进行加载,其中,在准备加载各个部分中的当前部分时通过运行漏洞检测代码对当前部分进行漏洞检测,若检测到当前部分存在网页漏洞,则可直接对上述网页漏洞对应的网页数据执行相应的操作,例如,中止对上述网页漏洞对应的网页数据的记载。从而实现对检测出的网页漏洞的灵活控制,避免对其他未检测出网页漏洞的网页数据的影响。
[0070]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0071]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0072]实施例2
[0073]根据本发明实施例,提供了一种网页漏洞检测装置的实施例,其中,上述网页漏洞检测装置可以但不限于应用于如图1所示的网络环境中,其中,上述网络环境中包括终端102及服务器104。可选地,在本实施例中,上述终端102可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、PC机。可选地,在本实施例中,上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。例如,在终端102上的浏览器中输入预定的统一资源定位URL(Uniform Resource Locator)地址,通过网络从相应的服务器104中获取对应的网页数据,并对上述网页数据进行漏洞检测。上述举例只是一种示例,本实施例对此不做任何限定。
[0074]根据本发明实施例,还提供了一种用于实施上述网页漏洞检测方法的网页漏洞检测装置,如图6所示,该装置包括:
[0075]I)获取单元602,用于获取待检测的网页数据;
[0076]2)查找单元604,用于在待检测的网页数据中查找是否包括目标标签,其中,目标标签用于标识待检测的网页数据的起始加载位置;
[0077]3)第一插入单元606,用于在查找出目标标签时,在网页数据中位于目标标签之后的位置上插入漏洞检测代码;
[0078]4)运行单元608,用于在加载网页数据时运行漏洞检测代码;
[0079]5)操作单元610,用于在通过运行漏洞检测代码检测出网页漏洞时,执行与网页漏洞对应的操作。
[0080]可选地,在本实施例中,上述网页漏洞检测可以但不限于应用于网页的跨域漏洞检测,其中,跨域指的是突破同源策略,实现两个源之间的交互访问,而同源策略指的是同一个源中记载文本或脚本与来自其他源中资源的交互方式,其中,拥有相同的协议、端口和主机的两个页面属于同一个源。例如,在加载待检测的
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1