一种网页重定向漏洞检测方法及装置转让专利

申请号 : CN201410068982.8

文献号 : CN104881605B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 翁家才

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明涉及一种网页重定向漏洞检测方法、装置及系统。一个实施例中,上述的方法包括:获取目标网页内的输入参数;通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页;监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较;若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的所述参数存在网页重定向漏洞。上述的方法及装置可提升网页重定向漏洞的检出率。

权利要求 :

1.一种网页重定向漏洞检测方法,其特征在于,包括:

获取目标网页内的输入参数;

通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页;

在浏览器引擎发送网络请求的时候向应用层发送一条消息,而在该消息中至少包括网络请求的目标网址,在应用层监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较;所述监测所述浏览器引擎发出的第二网络请求包括监听所述浏览器引擎发给应用层的消息;以及从所述消息中解析出所述第二网络请求的目标网址;

若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的参数存在网页重定向漏洞。

2.如权利要求1所述的网页重定向漏洞检测方法,其特征在于,所述通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页包括:根据所述测试网址以及所述输入参数的名称构造符合预定格式的参数值对字符串;

将所述参数值对字符串连接至所述目标网页的网址后得到第一网址;以及通过所述浏览器引擎向所述第一网址发出所述第一网络请求。

3.如权利要求1所述的网页重定向漏洞检测方法,其特征在于,若超过预定时间未检测到目标网址与所述测试网址相匹配的第二网络请求则停止监测所述浏览器引擎发出的第二网络请求并开始进行下一个输入参数的检测。

4.如权利要求1所述的网页重定向漏洞检测方法,其特征在于,所述输入参数包括多个输入参数;

所述通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页包括:将多个不同的测试网址分别作为所述多个输入参数的值提交至所述目标网页并记录不同测试网址与输入参数之间的对应关系。

5.一种网页重定向漏洞检测装置,其特征在于,包括:

参数获取模块,用于获取目标网页内的输入参数;

请求发送模块,用于通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页;

监测模块,用于在浏览器引擎发送网络请求的时候向应用层发送一条消息,而在该消息中至少包括网络请求的目标网址的前提下,在应用层监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较;

所述监测模块具体用于监听所述浏览器引擎发给应用层的消息;以及从所述消息中解析出所述第二网络请求的目标网址;

漏洞检测模块,用于若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的参数存在网页重定向漏洞。

6.如权利要求5所述的网页重定向漏洞检测装置,其特征在于,所述请求发送模块用于:根据所述测试网址以及所述输入参数的名称构造符合预定格式的参数值对字符串;

将所述参数值对字符串连接至所述目标网页的网址后得到第一网址;以及通过所述浏览器引擎向所述第一网址发出所述第一网络请求。

7.如权利要求6所述的网页重定向漏洞检测装置,其特征在于,所述监测模块还用于:若超过预定时间未检测到目标网址与所述测试网址相匹配的第二网络请求则停止监测所述浏览器引擎发出的第二网络请求并通知所述请求发送模块开始进行下一个输入参数的检测。

8.如权利要求5所述的网页重定向漏洞检测装置,其特征在于,所述输入参数包括多个输入参数;

所述请求发送模块用于:将多个不同的测试网址分别作为所述多个输入参数的值同时提交至所述目标网页并记录不同测试网址与输入参数之间的对应关系。

说明书 :

一种网页重定向漏洞检测方法及装置

技术领域

[0001] 本发明涉及计算机安全技术,尤其涉及一种网页重定向漏洞检测方法及装置。

背景技术

[0002] 网页重定向(redirect)是指在一些目标网页被访问时通过一些机制实现浏览器被自动导航至一个新的页面的技术。网页重定向给网站的设计带来了很多便利,但同时也给网络安全技术带来了挑战。一些使用重定向技术的网页中存在网页重定向漏洞,即负责重定向的网页程序没有验证目标网址是否合法,直接重定向到目标网址,这种网页可被利用进行钓鱼攻击,从而导致泄露用户帐号及密码等敏感信息。
[0003] 网页重定向漏洞可以分为普通网页重定向漏洞、DOM(Document Object Model,文档对象模型)网页重定向漏洞与多次网页重定向漏洞。其中,普通网页重定向漏洞是指在负责转向的网页程序返回源码中可以找到目标网址,这种漏洞只要根据简单的特征匹配即可发现。DOM网页重定向漏洞是指负责转向的网页程序由脚本代码实现,且在网页程序返回源码中无法找到目标网址,这种漏洞难以检测。多次网页重定向漏洞是指经过多次重定向才会重定向到目标网址的漏洞,比如网页程序A重定向到网页程序B,B又重定向到网页程序C,C才最终重定向到目标网址,这种漏洞也难以检测。
[0004] 现有技术检测方案只能通过简单的特征匹配检测普通网页重定向漏洞,无法检测DOM网页重定向漏洞及多次网页重定向漏洞。

发明内容

[0005] 有鉴于此,有必要提供一种网页重定向漏洞检测方法及装置,其能够检测网站中的各种重定向漏洞。
[0006] 一种网页重定向漏洞检测方法,包括:获取目标网页内的输入参数;通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页;监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较;若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的所述参数存在网页重定向漏洞。
[0007] 一种网页重定向漏洞检测装置,包括:参数获取模块,用于获取目标网页内的输入参数;请求发送模块,用于通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页;监测模块,用于监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较;漏洞检测模块,用于若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的所述参数存在网页重定向漏洞。
[0008] 根据上述的网页重定向漏洞检测方法及装置,通过浏览器引擎模拟了正常的网页的加载过程,无论是多次网页重定向漏洞,还是脚本重定向漏洞都能够检测出来,提升了网页重定向漏洞检测的覆盖率。
[0009] 为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

[0010] 图1为本发明实施例提供的方法及装置的运行环境示意图。
[0011] 图2为图1中的漏洞检测服务器的结构框图。
[0012] 图3为图1中的网站服务器的结构框图。
[0013] 图4及图5为第一实施例提供的网页重定向漏洞检测方法流程图。
[0014] 图6为第二实施例提供的网页重定向漏洞检测方法流程图。
[0015] 图7为第三实施例提供的网页重定向漏洞检测方法流程图。
[0016] 图8为第四实施例提供的网页重定向漏洞检测方法流程图。
[0017] 图9为第五实施例提供的网页重定向漏洞检测装置的结构框图。
[0018] 图10为第六实施例提供的网页重定向漏洞检测装置的结构框图。
[0019] 图11为第七实施例提供的网页重定向漏洞检测装置的结构框图。
[0020] 图12为第八实施例提供的网页重定向漏洞检测装置的结构框图。

具体实施方式

[0021] 为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
[0022] 本发明实施例涉及一种网页重定向漏洞检测方法及装置,其用于在检测网站内各网页中是否存在网页重定向漏洞。参阅图1,其为上述的方法及装置的运行环境示意图。一个或多个漏洞检测服务器100(图1中仅示出一个)可通过网络与一个或多个网站服务器200(图1中仅示出一个)相连。上述的网络例如可为互联网、局域网、企业内部网等。
[0023] 进一步参阅图2,其为上述的漏洞检测服务器100的一个实施例的结构框图。如图2所示,漏洞检测服务器100包括:存储器102、存储控制器104、一个或多个(图中仅示出一个)处理器106、外设接口108以及网络模块110。可以理解,图2所示的结构仅为示意,其并不对漏洞检测服务器100的结构造成限定。例如,漏洞检测服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
[0024] 存储器102可用于存储软件程序以及模块,如本发明实施例中的网页重定向漏洞检测方法及装置对应的程序指令/模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。
[0025] 存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至漏洞检测服务器100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
[0026] 外设接口108将各种输入/输入装置耦合至处理器106。处理器106运行存储器102内的各种软件、指令计算装置100执行各种功能以及进行数据处理。在一些实施例中,外设接口108、处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
[0027] 网络模块110用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块110可包括处理器、随机存储器、转换器、晶体振荡器等元件。
[0028] 上述的软件程序以及模块包括:操作系统122、浏览器引擎124以及漏洞检测模块126。其中操作系统122例如可为LINUX,UNIX,WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。浏览器引擎124以及漏洞检测模块126运行在操作系统122的基础上。浏览器引擎124例如可为Webkit浏览器引擎。漏洞检测模块126通过浏览器引擎124具体实现本发明实施例的网页重定向漏洞检测方法。
[0029] 进一步参阅图3,其为图1中的网站服务器200的一个实施例的结构框图。如图3所示,其与漏洞检测服务器100的结构相似,其不同之处在于,网站服务器200可不包括浏览器引擎124以及漏洞检测模块126,而包括网站服务器模块224。网站服务器模块224运行在操作系统122的基础上,并通过操作系统122的网络服务监听来自网络的网页访问请求,根据网页访问请求完成相应的数据处理,并返回结果网页或者其他格式的数据给客户端。上述的网站服务器模块224例如可包括动态网页脚本以及脚本解释器等。上述的脚本解释器例如可为Apache网站服务器程序,其用于将动态网页脚本处理成客户端可以接受的格式,例如超文本标记(HTML)语言格式或者可扩展标记语言(XML)格式等。
[0030] 第一实施例
[0031] 本实施例提供一种网页重定向漏洞检测方法,参阅图4,上述方法包括以下步骤:
[0032] 步骤S110、获取目标网页内的输入参数。
[0033] 目标网页是指对应于一个网址(Uniform Resource Locator,URL),例如“http://www.test.com/jump.php”的网页。可以理解,一个网页是由网站服务器(如网站服务器200)内的一个或多个脚本生成并返回至客户端(如漏洞检测服务器100)。为了与网站服务器进行交互,前端网页中会具有多个参数,其可通过POST方式GET方式提交至网站服务器。网站服务器在接收到请求后,会处理这些参数,而一些参数的值可能会被用来作为进行重定向的目标地址。如果不对这些参数的值的合法性进行验证,就可能导致客户端的浏览器被重定向至恶意网址。
[0034] 因此,上述的输入参数就是指前端网页中的能被网站服务器接收并处理的参数,例如可被接收并处理的URL中的附加参数以及网页源代码中的元素中所包含的参数。
[0035] 以上述的网页“http://www.test.com/jump.php”为例,其可以具有两个参数:url以及user。这两个参数都可以进行检测,也可以是只检测部分参数,例如仅检测参数url。
[0036] 步骤S120、通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页。
[0037] 如图2所示,浏览器引擎124提供应用程序编程接口供其他应用程序调用从而实现网页的加载。
[0038] 参阅图5,在一个实例中,步骤S120具体包括以下步骤:
[0039] 步骤S121、根据所述测试网址以及所述输入参数的名称构造符合预定格式的参数值对字符串。
[0040] 上述的测试网址例如可为http://www.51diaoyu.com,而输入参数为上述的参数url。由此,可以构造出参数值对字符串“url=http://www.51diaoyu.com”。
[0041] 步骤S122、将所述参数值对字符串连接至所述目标网页的网址后得到第一网址。
[0042] 可以理解,在URL中,可以使用“?”将网址与参数值对连接起来。例如,将目标网页的网址“http://www.test.com/jump.php”与参数值对字符串连接后即可得到第一网址“http://www.test.com/jump.php?url=http://www.51diaoyu.com”。
[0043] 步骤S123、通过所述浏览器引擎向所述第一网址发出所述第一网络请求。
[0044] 例如,将第一网址传递给浏览器引擎124。相应地,浏览器引擎124根据第一网址内包括的域名进行域名解析操作,然后根据域名解析结果获取第一网址对应的网站服务器(例如图1所示的网站服务器200)的IP地址,然后与该IP请求建立网络连接,在建立网络连接后将第一网络请求发送给网站服务器200。在第一网络请求中,可包括用于让网站服务器200识别目标网页的路径信息,例如“/jump.php?url=http://www.51diaoyu.com”。
[0045] 可以理解,在上述的路径信息中,“jump.php”指明对应的网页应用程序,而“url=http://www.51diaoyu.com”是传入的参数值对。网站服务器200根据“jump.php”调用对应的网页应用程序,并将参数值对“url=http://www.51diaoyu.com”提供给所述的对应的网页应用程序。
[0046] 在该网页应用程序中可能会设定了重定向机制,而重定向的目标网址就是参数url的值。常用的重定向方式有:301重定向、302重定向、“metafresh”、与脚本重定向。
[0047] 301重定向是指在网页应用程序在接收到客户端的网络请求后返回的状态码为超文本传输协议(HTTP)所规定的状态码301,并且随着301状态码还提供重定向的目标网址。302重定向与301重定向类似,其不同之处在于,301重定向代表永久转移(Permanently Moved),而302重定向代表暂时性转移(Temporarily Moved)。
[0048] “meta fresh”重定向是指网页应用程序通过设置返回的HTML页面中的标签使浏览器引擎自动加载目标网页。例如,若设置标签如下:,可以使浏览器引擎在5秒后自动加载目标网页“http://www.51diaoyu.com”。
[0049] 脚本重定向是指网页应用程序通过设置返回的HTML页面中的脚本来实现浏览器自动加载目标网页。例如,通过在HTML页面中包括类似于“”的Javascript脚本即可实现浏览器的重定向,通过设置一个定时器,还可实现延时加载。
[0050] 以上的重定向机制仅为示例,网站服务器200可以采用任意的重定向机制。而无论采用哪种重定向机制,网页应用程序都需要设定重定向的目标网址。如果网页应用程序直接采用上述的参数url的值作为重定向的目标网址,而不对参数url的值进行合法性验证,此种情形就是该网页应用程序中该参数url存在网页重定向漏洞。
[0051] 步骤S130、监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较。
[0052] 如果目标网页中使用了重定向机制,无论是哪种机制,在经过一定的时间后浏览器引擎都会被重定向至目标网址。对于301、302重定向,在接收到状态码后,浏览器引擎即开始加载目标网址,而“meta fresh”与脚本重定向是在满足触发条件时,例如,设定的延时到达的情形下,浏览器引擎开始加载目标网址。
[0053] 可以理解,无论是哪种机制触发,浏览器引擎都会向目标网址对应的服务器发出网络请求(即上述的第二网络请求)。
[0054] 如上所述,如果网站服务器200不对参数url的合法性进行验证而直接将其作为重定向的目标网址,则浏览器引擎就会直接加载上述的测试网址“http://www.51diaoyu.com”。
[0055] 在步骤S130中,为了实现监测浏览器引擎发出的第二网络请求,可以采用注入技术(Hooking)向浏览器引擎注入一个模块,负责在浏览器引擎发送网络请求的时候向应用层发送一条消息,而在该消息中至少包括网络请求的目标网址。相应地,在步骤S130中,在应用层即可监听上述消息,并可以接收到消息后从中解析出第二网线路请求的目标网址。然后即可将第二网络请求的目标网址与测试网址进行比较。
[0056] 步骤S140、若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的所述参数存在网页重定向漏洞。
[0057] 如果检测到所述第二网络请求的目标网址与所述测试网址相匹配,则说明网页应用程序直接将参数的值作为重定向的目标网址,也就是说,该参数存在网页重重向漏洞,此时可以记录目标网页的网址以及参数名。
[0058] 根据本实施例的网页重定向漏洞检测方法,通过浏览器引擎模拟了正常的网页的加载过程,无论是多次网页重定向漏洞,还是脚本重定向漏洞都能够检测出来,提升了网页重定向漏洞检测的覆盖率。
[0059] 第二实施例
[0060] 本实施例提供一种网页重定向漏洞检测方法,参阅图6,上述方法包括以下步骤:
[0061] 步骤S210、获取目标网页内的输入参数的集合。
[0062] 上述的输入参数就是指前端网页中的能被网站服务器接收并处理的参数,例如可被接收并处理的URL中的附加参数以及网页源代码中的元素中所包含的参数。输入参数的集合例如可包括目标网页内所有的参数。输入参数的集合可以采用数组、队列等数据结构进行存储。
[0063] 步骤S220、从集合中获取一个参数。
[0064] 输入的参数可能包括多个,但网页重定向漏洞的检测可以是分别进行的,因此,可以每次从集合中获取一个参数进行网页重定向漏洞检测。
[0065] 步骤S230、对获取的参数进行网页重定向漏洞检测。
[0066] 对于一个确定的参数,进行网页重定向漏洞检测的具体过程可参考第一实施例中的相关描述,即将测试网址作为参数的值提交至目标网页,并监测后续浏览器引擎是否发出目标网址为测试网址的网络请求,若检测到则存在网页重定向漏洞,否则不存在漏洞。
[0067] 步骤S240、判断是否检测下一个参数,若是重新执行步骤S220,否则,流程结束。
[0068] 例如,判断输入参数的集合中是否还具有未进行检测的参数,若是,再从输入参数的集合中获取一个未检测的参数,即再次执行步骤S220;否则,说明目标网页内所有的参数检测完毕,目标网页的重定向漏洞检测流程结束。
[0069] 根据本实施例的网页重定向漏洞检测方法,通过浏览器引擎模拟了正常的网页的加载过程,无论是多次网页重定向漏洞,还是脚本重定向漏洞都能够检测出来,提升了网页重定向漏洞检测的覆盖率。
[0070] 第三实施例
[0071] 本实施例提供一种网页重定向漏洞检测方法,参阅图7,上述方法包括以下步骤:
[0072] 步骤S310、获取目标网页内的输入参数的集合。
[0073] 上述的输入参数就是指前端网页中的能被网站服务器接收并处理的参数,例如可被接收并处理的URL中的附加参数以及网页源代码中的元素中所包含的参数。输入参数的集合例如可包括目标网页内所有的参数。输入参数的集合可以采用数组、队列等数据结构进行存储。
[0074] 步骤S320、通过浏览器引擎发出第一网络请求将多个不同的测试网址分别作为所述多个输入参数的值同时提交至所述目标网页并记录不同测试网址与输入参数之间的对应关系。
[0075] 上述的目标网页的网址例如为“http://www.test.com/jump.php”,其可以具有两个参数:url以及user。可为每个参数设置一个对应的测试网址并根据参数及其值构造参数值对字符串。例如对应于参数url的测试网址例如为“http://www.51diaoyu1.com”,而对应于参数user的测试网址例如为“http://www.51diaoyu2.com”。相应地,构造出的参数值对字符串可为“url=http://www.51diaoyu1.com&user=http://www.51diaoyu2.com”。
[0076] 然后,将参数值对字符串连接至所述目标网页的网址后得到网址http://www.test.com/jump.php?url=http://www.51diaoyu1.com&user=http://www.51diaoyu2.com”。将上述网址传递给浏览器引擎124。相应地,浏览器引擎124根据网址内包括的域名进行域名解析操作,然后根据域名解析结果获取网址对应的网站服务器(例如图1所示的网站服务器200)的IP地址,然后与该IP请求建立网络连接,在建立网络连接后将第一网络请求发送给网站服务器200。在第一网络请求中,可包括用于让网站服务器200识别目标网页的路径信息,例如“/jump.php?url=http://www.51diaoyu1.com&user=http://www.51diaoyu2.com”。
[0077] 可以理解,在上述的路径信息中,“jump.php”指明对应的网页应用程序,而“url=http://www.51diaoyu1.com&user=http://www.51diaoyu2.com”是传入的参数值对。网站服务器200根据“jump.php”调用对应的网页应用程序,并将参数值对“url=http://www.51diaoyu1.com&user=http://www.51diaoyu2.com”提供给所述的对应的网页应用程序。
[0078] 步骤S330、监测浏览器引擎发出的第二网络请求并将第二网络请求的目标网址与测试网址进行比较。
[0079] 网页应用程序可能使用上述的参数的值作为网页重定向的目标网址。可以理解,无论是通过何种重定向机制,最后浏览器引擎124均会发出目标网址为“http://www.51diaoyu1.com”或者“http://www.51diaoyu2.com”的网络请求(即上述的第二网络请求)。
[0080] 步骤S340、若检测到第二网络请求的目标网址与测试网址匹配则记录对应的参数有网页重定向漏洞。
[0081] 如果检测到所述第二网络请求的目标网址与任一测试网址相匹配,则说明网页应用程序直接将参数的值作为重定向的目标网址,也就是说,该参数存在网页重重向漏洞,此时可以记录目标网页的网址以及参数名。
[0082] 根据本实施例的网页重定向漏洞检测方法,可在一次网络请求中检测多个参数,可以提供网页重定向漏洞检测效率。
[0083] 第四实施例
[0084] 本实施例提供一种网页重定向漏洞检测方法,参阅图8,本实施例的方法与图6所示的方法相似,其不同之处在于,在步骤S230与步骤S240之间还包括步骤S410、判断是否超过预定时间未检测到目标网址与所述测试网址相匹配的第二网络请求或者在预定时间内检测到目标网址与所述测试网址相匹配的第二网络请求;若是,则执行步骤S240;否则,继续执行步骤S230。
[0085] 一般来说,网页重定向即使被设定处时,其时间也不会超过几秒种。因此,在步骤S410中,预定时间例如可以设定为10秒钟,当超过10秒未检测到目标网址与测试网址相匹配的第二网络请求时,即视为对应的参数不存在网页重定向漏洞,可以进行下一个参数的检测。
[0086] 根据本实施例的网页重定向漏洞检测方法,可以避免一个参数的检测过程无限期的等待下去,从而可以提升网页重定向漏洞的检测效率。
[0087] 第五实施例
[0088] 本实施例提供一种网页重定向漏洞检测装置,参阅图9,本实施例的装置包括:参数获取模块51、请求发送模块52、监测模块53、以及漏洞检测模块54。
[0089] 参数获取模块51用于获取目标网页内的输入参数。
[0090] 上述的输入参数就是指前端网页中的能被网站服务器接收并处理的参数,例如可被接收并处理的URL中的附加参数以及网页源代码中的元素中所包含的参数。输入参数的集合例如可包括目标网页内所有的参数。输入参数的集合可以采用数组、队列等数据结构进行存储。
[0091] 请求发送模块52用于通过浏览器引擎发出第一网络请求将测试网址作为所述输入参数的值提交至所述目标网页。
[0092] 监测模块53用于监测所述浏览器引擎发出的第二网络请求并将所述第二网络请求的目标网址与所述测试网址进行比较。例如,监测模块53监听所述浏览器引擎发给应用层的消息;以及从所述消息中解析出所述第二网络请求的目标网址。然后,监测模块将上述的目标网址与测试网址进行比较。
[0093] 漏洞检测模块54用于若检测到所述第二网络请求的目标网址与所述测试网址相匹配则记录所述目标网页的所述参数存在网页重定向漏洞。
[0094] 根据本实施例的网页重定向漏洞检测装置,通过浏览器引擎模拟了正常的网页的加载过程,无论是多次网页重定向漏洞,还是脚本重定向漏洞都能够检测出来,提升了网页重定向漏洞检测的覆盖率。
[0095] 第六实施例
[0096] 本实施例提供一种网页重定向漏洞检测装置,参阅图10,其与图9的装置相似,其不同之处在于,请求发送模块52包括:字符串构造单元521、网址构造单元522、以及请求发送单元523。
[0097] 字符串构造单元521用于:根据所述测试网址以及所述输入参数的名称构造符合预定格式的参数值对字符串。
[0098] 网址构造单元53用于:将所述参数值对字符串连接至所述目标网页的网址后得到第一网址。
[0099] 第一发送单元523用于:通过所述浏览器引擎向所述第一网址发出所述第一网络请求。
[0100] 根据本实施例的网页重定向漏洞检测装置,通过浏览器引擎模拟了正常的网页的加载过程,无论是多次网页重定向漏洞,还是脚本重定向漏洞都能够检测出来,提升了网页重定向漏洞检测的覆盖率。
[0101] 第七实施例
[0102] 本实施例提供一种网页重定向漏洞检测装置,参阅图11,其与图9的装置相似,其不同之处在于,请求发送模块52包括:第二发送单元524,用于将多个不同的测试网址分别作为所述多个输入参数的值同时提交至所述目标网页并记录不同测试网址与输入参数之间的对应关系。
[0103] 根据本实施例的网页重定向漏洞检测装置,可在一次网络请求中检测多个参数,可以提供网页重定向漏洞检测效率。
[0104] 第八实施例
[0105] 本实施例提供一种网页重定向漏洞检测装置,参阅图12,其与图9的装置相似,其不同之处在于,监测模块53包括:超时判定单元531,用于:若超过预定时间未检测到目标网址与所述测试网址相匹配的第二网络请求则停止监测所述浏览器引擎发出的第二网络请求并通知所述请求发送模块开始进行下一个输入参数的检测。
[0106] 根据本实施例的网页重定向漏洞检测装置,通过浏览器引擎模拟了正常的网页的加载过程,无论是多次网页重定向漏洞,还是脚本重定向漏洞都能够检测出来,提升了网页重定向漏洞检测的覆盖率。
[0107] 此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的分布式文档形数据存取方法及装置。
[0108] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。