网页劫持检测方法、装置及计算机存储介质与流程

文档序号:17536386发布日期:2019-04-29 14:02阅读:168来源:国知局
网页劫持检测方法、装置及计算机存储介质与流程

本发明涉及电子技术领域,尤其涉及一种网页劫持检测方法、装置及计算机存储介质。



背景技术:

随着互联网技术的不断发展,互联网给人们生活带来极大便利的同时也面临很多风险。网页劫持是互联网面临的众多风险中较为常见的风险之一。不法分子利用dns污染、js投毒、特定请求重定向等手段对网页搜索结果、网页内容甚至下载文件进行劫持,网页劫持轻则对正常网络体验造成影响,重则对网络信息真实性甚至用户账号安全造成泄露风险。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网页劫持检测方法、装置及计算机存储介质。

第一方面,本实施例提供一种网页劫持检测方法,应用于服务器,包括:

在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

可选的,所述对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序,包括:

获取所述目标网页对应的源脚本程序;

将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

可选的,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

可选的,所述将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页,包括:

将所述目标网页的源码解析为dom树;

从所述dom树中随机确定出目标dom节点;

将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

可选的,所述网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。

第二方面,本实施例还提供一种网页劫持检测方法,应用于终端,包括:

向服务器发送用户针对目标网页的获取请求;

接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

如果所述检测结果表明所述目标网页被劫持,执行预设报警策略。

可选的,所述执行预设报警策略,包括:

向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

可选的,所述执行预设报警策略,包括:

删除所述目标网页中被篡改或被插入的内容。

可选的,所述通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,包括:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

第三方面,本实施例还提供一种网页劫持检测装置,应用于服务器,包括:

处理单元,用于在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

插入单元,用于将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

发送单元,用于将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

可选的,所述处理单元具体用于:

获取所述目标网页对应的源脚本程序;

将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

可选的,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

可选的,所述插入单元具体用于:

将所述目标网页的源码解析为dom树;

从所述dom树中随机确定出目标dom节点;

将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

可选的,所述网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。

第四方面,本实施例还提供一种网页劫持检测装置,应用于终端,包括:

发送单元,用于向服务器发送用户针对目标网页的获取请求;

检测单元,用于接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

报警单元,用于如果所述检测单元的所述检测结果表明所述目标网页被劫持,执行预设报警策略。

可选的,所述报警单元具体用于:向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

可选的,所述报警单元具体用于:删除所述目标网页中被篡改或被插入的内容。

可选的,所述检测单元具体用于:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

第五方面,本发明实施例还提供一种网页劫持检测装置,包括处理器和存储器:所述存储器用于存储执行前述第一方面的所述网页劫持检测方法的脚本程序;所述处理器被配置为用于执行所述存储器中存储的程序。

第六方面,本发明实施例还提供一种计算机存储介质,其特征在于,用于储存为前述第一方面的所述网页劫持检测方法所用的计算机软件指令,其包含用于执行上述方面为网页劫持检测方法所设计的程序。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明实施例的技术方案中,在服务器端,在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序,然后,将目标检测脚本程序插入目标网页中的随机位置处,获得待检测目标网页,最后,将待检测目标网页发送至终端。这样,终端在接收到待检测目标网页后,可以通过混淆处理后的网页劫持检测脚本程序对目标网页进行网页劫持检测。由于网页劫持检测脚本程序被混淆处理,并插在随机位置,所以,网页劫持检测脚本程序不易被攻击者探测并清除,能够有效确保网页劫持检测脚本程序的安全性,进而确保了网页劫持检测的有效性。并且,服务器端仅需要在目标网页中插入网页劫持检测脚本程序,网页劫持检测的行为在用户终端执行,无须消耗额外的服务器资源,就可以简单高效地对网页进行网页劫持检测。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明第一实施例中的应用于前端设备的网页劫持检测方法的流程图;

图2为本发明第二实施例中的应用于前端设备的网页劫持检测方法的流程图;

图3为本发明第三实施例中的一种网页劫持检测装置的示意图;

图4为本发明第四实施例中的一种网页劫持检测装置的示意图;

图5为本发明第五实施例中的一种网页劫持检测装置的示意图;。

具体实施方式

本实施例公开一种网页劫持检测方法、装置及计算机存储介质。服务器端将混淆后的网页劫持检测脚本程序插入至目标网页的随机位置中,能有效防止网页劫持检测脚本程序被恶意攻击者探测并清除,确保了网页劫持检测脚本程序的安全性,进一步确保了对目标网页进行网页劫持检测的有效性。该方法包括:在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

实施例

本发明第一实施例提供一种网页劫持检测方法,应用于服务器,该方法的流程图如图1所示,包括如下步骤:

s101:在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

s102:将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

s103:将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

具体的,在本实施例中,网页是构成网站的基本元素,通常网页都是由超文本标记语言(html语言)编写而成的文件,其需要通过安装在用户终端的浏览器阅读。而通过浏览器打开某个网页时,浏览器执行相应的html文件,根据html文件中的格式显示网页的文字、图片等等。

用户在进行网页访问时,可能会遇到网页被劫持的情况。例如:点击的链接指向网页被替换,或者,网页内容被广告或恶意网页挟持。许多第三方通过不法手段劫持用户请求的网页后,对其进行篡改或者加入广告插窗,以谋取利益。网页插窗是目前较常使用的http(hypertexttransferprotocol,超文本传输协议)劫持手段,其主要目的向终端用户的网页或app界面上插入视窗页面,提供个性化的广告内容和虚假信息,网页被劫持的过程如下:

用户上网通过浏览器对特定网页的url(uniformresourcelocator,统一资源定位符)发起获取get请求。然后,在get请求报文发往目的该网页的服务器过程中,该请求在某个网段提前被第三方劫持程序获取。劫持程序分析用户get请求,判断是否符合插入广告的条件。如满足插入广告的条件,第三方早于该网页的服务器响应用户get请求之前发送http200服务请求成功状态和页面重组js(javascript)脚本,重组js中包含用户原始请求地址和手机视察服务地址两部分。用户终端(web浏览器或者app)根据http200的响应报文中的body内容,加载并运行劫持程序放入的js。用户端通过js分析向手机视窗页面和原始地址发起请求,用户终端按指定结构在不影响用户正常上网的前提下,展示原始请求内容和插入的广告内容。

通过对上述深入分析,可以了解网页界面劫持的技术原理是在用户可见页面上“覆盖一个网页框”,具体来讲,“覆盖”是指控件位置之间的层次关系,而“框”则指的是iframe标签。上述原理中的iframe是通过劫持程序放入的js在浏览器或者app中动态建立。现有的可通过https全站加密方式防止第三方劫持网页后插入广告,但这样会导致性能下降,机房投入的资源增多,覆盖不了没做全站的https加密的网站。有些网站即使做了https全站加密,但其使用的证书没有被认证机构审核,安全性较弱,易被篡改和替换。由于https全站加密方式中openssl等加解密程序本身的漏洞,已做https加密的网页内容仍有被破解的风险,如“滴水”(drown)漏洞,攻击者有可能利用这个漏洞破解https网页内容。

所以,本实施例中的方案,用户可通过安装在终端中的浏览器发起针对目标网页的获取请求,该服务器为目标网页对应的服务器。然后,在服务器端,如果接收到用户的终端针对目标网页的获取请求情况下,通过步骤s101,确定网页劫持检测脚本程序,并将其进行混淆处理,得到目标检测脚本程序。然后通过步骤s102,将目标检测脚本程序插入目标网页中的随机位置处,获得待检测目标网页,最后,通过步骤s103,将待检测目标网页发送至终端。这样,终端在接收到该待检测目标网页后,可以通过混淆处理后的网页劫持检测脚本程序对请求的目标网页进行网页劫持检测。由于网页劫持检测脚本程序被混淆处理,并插在随机位置,所以,网页劫持检测脚本程序不易被攻击者探测并清除,能够有效确保网页劫持检测脚本程序的安全性,进而确保了网页劫持检测的有效性。并且,服务器端仅需要在目标网页中插入网页劫持检测脚本程序,网页劫持检测的工作分配到用户终端,无须消耗额外的服务器资源,就可以简单高效地对网页进行网页劫持检测,能够提高检测效率。

进一步,在本实施例中,对网页劫持检测脚本程序进行混淆处理可通过如下步骤实现:获取所述目标网页对应的源脚本程序;将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

具体的,在本实施例中,由于网站设定与用户交互的功能时,会设定对应的源脚本程序,针对目标网页,确定其所包含的源脚本程序,将网页劫持检测脚本程序与目标网页所包含的源脚本程序放在一起,然后进行高强度的混淆处理,得到目标检测脚本程序。该源脚本程序是与目标网页对应的构建页面脚本程序,当然,还可以是其他较为重要的脚本程序,在此,本申请不做限制。当然,在具体实施过程中,还可以单独对网页劫持检测脚本程序进行混淆处理,得到目标检测脚本程序。混淆处理就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。被混淆过的程序代码,仍然遵照原来的档案格式和指令集,执行结果也与混淆前一样,只是混淆器将代码中的所有变量、函数、类的名称变为简短的英文字母代号,在缺乏相应的函数名和程序注释的情况下,即使被反编译,也将难以阅读。同时混淆是不可逆的,在混淆的过程中一些不影响正常运行的信息将永久丢失,这些信息的丢失使程序变得更加难以理解。在具体实施过程中,混淆处理可以通过专业的混淆处理软件进行。

进一步,在本实施例中,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

具体的,javascript是一种基于对象和事件驱动并具有相对安全性的终端脚本语言。同时也是一种广泛用于终端web开发的脚本语言,常用来给html网页添加动态功能。javascript脚本程序是纯文本语句,不需要编译,因此其可以由浏览器直接解释执行。在将检测目标网页是否被劫持的javascript语句嵌入到网页对应的html文件中,用户在打开该网页时就可触发该javascript脚本执行相应操作,以检测目标网页是否被劫持。采用javascript脚本嵌入的方式除了能提高检测速度外,另一个优点是javascript脚本程序只在后台执行,用户对其不可见,因此不会妨碍用户的其它操作。在具体实施过程中,除了使用javascript脚本外,还可以使用其他任何可以嵌入到网页中的脚本语言,只要浏览器能够解释执行即可,在此,本申请不做限制。

进一步,为了使得网页劫持检测脚本程序不轻易地被第三方(恶意攻击者或广告插入者)探测后清除,将该网页劫持检测脚本程序插入目标网页中的随机位置处,获得待检测目标网页。具体的,可通过如下步骤实现:

将所述目标网页的源码解析为dom树,从所述dom树中随机确定出目标dom节点,将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

具体的,在本实施例中,可以通过将目标网页的html文件解析成dom(documentobjectmodel,文档对象化模型)树,然后生成一个随机数,从dom树中的根节点开始,按该随机数从左往右依次向下,直至到达该随机数对应的节点,该节点即为dom树中随机确定出的目标dom节点,然后将混淆处理后的目标检测脚本程序插入目标网页中与该目标dom节点对应的位置处。dom树是指通过dom将html页面进行解析,并生成html树状结构和对应访问方法。借助dom树,能够直接而且简易的操作html页面上的每个标记内容。具体的,在将目标网页的html文件解析成dom树后,可以记录目标网页对应的dom树中的初始节点的个数。在具体实施过程中,随机位置可根据实际需要进行确定,在此,本申请不做限制。

进而,服务器将插入目标检测脚本程序后的待检测目标网页发送至请求该目标网页的用户的终端。用户的终端接收到该待检测目标网页后,通过浏览器加载该待检测网页。由于待检测网页的随机位置处插入了混淆处理后的网页劫持检测脚本程序,在用户打开该待检测网页时,触发网页劫持检测脚本程序在后台执行。

进一步,在本实施例中,网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。进而,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,具体包括:通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

具体的,在本实施例中网页劫持检测脚本程序可以包括完整性检测脚本程序和/或关键信息篡改检测脚本程序,由于不确定第三方在劫持目标网页后,何时对目标网页进行插入和/或篡改操作,所以,该网页劫持检测脚本程序设定为定时执行,即按预设时间间隔对目标网页进行完整性检测和/或关键信息篡改检测。在具体实施过程中,预设时间间隔可根据实际需要进行设定,如:5秒、10秒等,在此,本申请不做限制。定时检测的方式能够更加准确地检测到目标网页是否被劫持,使得用户的网络环境更加安全。

其中,在进行完整性检测时,由于服务器在将目标网页的源码解析为dom树时,记录有该dom树的原始节点信息,包括节点数量以及节点标签。如前述实施例所述,第三方在插入广告时,通常会在目标网页中插入iframe标签的节点,所以,如果检测目标网页是否被第三方劫持插入广告,就检测当前时刻浏览器加载的网页对应的dom树中iframe标签节点的数目,如果大于原始的iframe标签的节点的个数,表明该目标网页被劫持,并且插入了广告。

其中,在进行关键信息篡改检测时,服务器可预先对关键信息进行标记记录,包括关键信息所在的节点以及该节点的标签。关键信息可以是目标网站中涉及的用户账户信息、用户搜索结果等信息,在具体实施过程中,可根据实际需要进行设定,在此本申请不做限制。在进行关键信息篡改检测时,从当前网页的dom树的根节点开始扫描,检测当前的网页中的关键信息是否发生变化,如果发生变化,表明该目标网页被劫持,关键信息被篡改。

在具体实施过程中,网页劫持检测脚本程序可根据需要进行设定,还可以包括检测黑链、检测挂马等程序,在此本申请不做限制。

进而,在通过混淆处理后的网页劫持检测脚本程序检测到目标网页被篡改情况下,执行预设报警策略。具体的,可通过以下方式实现:

向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持,删除所述目标网页中被篡改或被插入的内容。

具体的,在本实施例中,如果确定目标网页被劫持,则向用户的终端发送警报信息,用于提示用户该目标网页被劫持,以避免用户在该劫持后的网页上进行相关操作,导致用户遭遇网络风险。同时,还可以发送警报信息至服务器,同时,上报该被劫持后的网页,服务器接收到该警报信息后,通知该网页的网站管理人员,管理员可以通过修改网页源码和管理权限修补漏洞。进一步,在检测到目标网页被劫持情况下,还可以定位出具体被劫持后第三方针对该目标网页污染的内容,如果第三方插入广告,即插入了新的dom节点,可定位到该节点后将其删除。如果第三方修改了关键信息,则可将篡改后的信息删除,这样,能进一步减少对用户造成的不良体验。

请参照图2,本发明第二实施例还提供了一种网页劫持检测方法,应用于终端,所述方法包括:

s201:向服务器发送用户针对目标网页的获取请求;

s202:接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

s203:如果所述检测结果表明所述目标网页被劫持,执行预设报警策略。

作为一种可选的实施例,所述执行预设报警策略,包括:

向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

作为一种可选的实施例,所述执行预设报警策略,包括:

删除所述目标网页中被篡改或被插入的内容。

作为一种可选的实施例,所述通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,包括:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

具体的,在本实施例中,应用于终端的网页劫持检测装置进行网页劫持检测的具体实现过程已经在前述第一实施例中详细阐述,在此,本实施例不再赘述。

请参照图3,本发明第三实施例还提供了一种网页劫持检测装置,应用于服务器,所述装置包括:

处理单元301,用于在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

插入单元302,用于将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

发送单元303,用于将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

作为一种可选的实施例,所述处理单元301具体用于:

获取所述目标网页对应的源脚本程序;

将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

作为一种可选的实施例,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

作为一种可选的实施例,所述插入单元302具体用于:

将所述目标网页的源码解析为dom树;

从所述dom树中随机确定出目标dom节点;

将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

作为一种可选的实施例,所述网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。

具体的,在本实施例中,应用于服务器的网页劫持检测装置进行网页劫持检测的具体实现过程已经在前述第一实施例中详细阐述,在此,本实施例不再赘述。

请参照图4,本发明第四实施例还提供了一种网页劫持检测装置,应用于终端,包括:

发送单元401,用于向服务器发送用户针对目标网页的获取请求;

检测单元402,用于接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

报警单元403,用于如果所述检测单元的所述检测结果表明所述目标网页被劫持,执行预设报警策略。

作为一种可选的实施例,所述报警单元403具体用于:向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

作为一种可选的实施例,所述报警单元403具体用于:删除所述目标网页中被篡改或被插入的内容。

作为一种可选的实施例,所述检测单元402具体用于:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

具体的,在本实施例中,应用于终端的网页劫持检测装置进行网页劫持检测的具体实现过程已经在前述第一实施例中详细阐述,在此,本实施例不再赘述。

本发明第五实施例还提供了一种网页劫持检测装置,请参照图5,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。

图5示出的是与本发明实施例提供的网页劫持检测装置的部分结构的示意图。该网页劫持检测装置包括存储器501,所述存储器501用于存储执行前述第一实施例中的网页劫持检测方法的脚本程序。该网页劫持检测装置还包括处理器502,与所述存储器501连接,所述处理器502被配置为用于执行所述存储器501中存储的程序。

所述处理器502执行所述计算机脚本程序时实现上述第一实施例或第二实施例中网页劫持检测方法中的步骤。或者,所述处理器执行所述计算机脚本程序时实现上述第三实施例或第四实施例中的网页劫持检测装置中各模块/单元的功能。

示例性的,所述计算机脚本程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机脚本程序指令段,该指令段用于描述所述计算机脚本程序在所述计算机装置中的执行过程。

所述装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图5仅仅是网页劫持检测装置的功能部件的示例图,并不构成对网页劫持检测装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述网页劫持检测装置还可以包括输入输出设备、网络接入设备、总线等。

所称处理器502可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。

所述存储器501可用于存储所述计算机脚本程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机脚本程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储脚本程序区和存储数据区,其中,存储脚本程序区可存储操作系统、至少一个功能所需的应用脚本程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网页劫持检测装置的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在本发明实施例中,处理器502具有以下功能:

在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

在本发明实施例中,该处理器502还具有以下功能:

获取所述目标网页对应的源脚本程序;

将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

在本发明实施例中,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

在本发明实施例中,该处理器502还具有以下功能:

将所述目标网页的源码解析为dom树;

从所述dom树中随机确定出目标dom节点;

将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

在本发明实施例中,所述网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。

在本发明实施例中,该处理器502还具有以下功能:

向服务器发送用户针对目标网页的获取请求;

接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

如果所述检测结果表明所述目标网页被劫持,执行预设报警策略。

在本发明实施例中,该处理器502还具有以下功能:

向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

在本发明实施例中,该处理器502还具有以下功能:

删除所述目标网页中被篡改或被插入的内容。

在本发明实施例中,该处理器502还具有以下功能:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

本发明第六实施例提供了一种计算机可读存储介质,其上存储有计算机脚本程序,本发明第三实施例或第四实施例中的所述网页劫持检测装置集成的功能单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第一实施例或第二实施例中的网页劫持检测方法中的全部或部分流程,也可以通过计算机脚本程序来指令相关的硬件来完成,所述的计算机脚本程序可存储于一计算机可读存储介质中,该计算机脚本程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机脚本程序包括计算机脚本程序代码,所述计算机脚本程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机脚本程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

本发明还公开a1、一种网页劫持检测方法,应用于服务器,包括:

在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

a2、如a1所述的方法,所述对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序,包括:

获取所述目标网页对应的源脚本程序;

将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

a3、如a2所述的方法,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

a4、如a1所述的方法,所述将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页,包括:

将所述目标网页的源码解析为dom树;

从所述dom树中随机确定出目标dom节点;

将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

a5、如a1-a4中任一项所述的方法,所述网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。

b6、一种网页劫持检测方法,应用于终端,包括:

向服务器发送用户针对目标网页的获取请求;

接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

如果所述检测结果表明所述目标网页被劫持,执行预设报警策略。

b7、b6所述的方法,所述执行预设报警策略,包括:

向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

b8、b6所述的方法,所述执行预设报警策略,包括:

删除所述目标网页中被篡改或被插入的内容。

b9、b6-b8中任一项所述的方法,所述通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,包括:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

c10、一种网页劫持检测装置,应用于服务器,包括:

处理单元,用于在接收到终端针对目标网页的获取请求情况下,对网页劫持检测脚本程序进行混淆处理,获得目标检测脚本程序;

插入单元,用于将所述目标检测脚本程序插入所述目标网页中的随机位置处,获得待检测目标网页;

发送单元,用于将所述待检测目标网页发送至所述终端,以使得所述终端的浏览器加载所述待检测网页后,通过所述目标检测脚本程序对所述目标网页进行网页劫持检测。

c11、如c10所述的装置,所述处理单元具体用于:

获取所述目标网页对应的源脚本程序;

将所述网页劫持检测脚本程序与所述源脚本程序并在一起后进行混淆处理,获得目标检测脚本程序。

c12、如c11所述的装置,所述源脚本程序为构建页面脚本程序,所述构建页面脚本程序与所述网页劫持检测脚本程序均基于javascript脚本语言编写。

c13、如c10所述的装置,所述插入单元具体用于:

将所述目标网页的源码解析为dom树;

从所述dom树中随机确定出目标dom节点;

将所述目标检测脚本程序插入所述目标网页中与所述目标dom节点对应的位置处。

c14、如c10-c13中任一项所述的装置,所述网页劫持检测脚本程序包括完整性检测脚本程序和/或关键信息篡改检测脚本程序。

d15、一种网页劫持检测装置,应用于终端,包括:

发送单元,用于向服务器发送用户针对目标网页的获取请求;

检测单元,用于接收并加载所述服务器基于所述获取请求反馈的待检测网页,通过所述待检测网页中的目标检测脚本程序对所述目标网页进行网页劫持检测,获得检测结果,其中,所述待检测网页为所述服务器在所述目标网页的随机位置处插入所述目标检测脚本程序后获得的网页,所述目标检测脚本程序为所述服务器对网页劫持检测脚本程序进行混淆处理后获得的脚本程序;

报警单元,用于如果所述检测单元的所述检测结果表明所述目标网页被劫持,执行预设报警策略。

d16、如d15所述的装置,所述报警单元具体用于:向所述服务器和/或所述终端发送警报信息,所述警报信息用于提示所述目标网页被劫持。

d17、如d15所述的装置,所述报警单元具体用于:删除所述目标网页中被篡改或被插入的内容。

d18、如d15-d17中任一项所述的装置,所述检测单元具体用于:

通过所述待检测网页中的目标检测脚本程序按预设时间间隔对所述目标网页进行完整性检测和/或关键信息篡改检测,获得检测结果。

e19、一种网页劫持检测装置,包括处理器和存储器:

所述存储器用于存储执行a1至b9中任一项所述方法的脚本程序;

所述处理器被配置为用于执行所述存储器中存储的程序。

f20、一种计算机存储介质,用于储存为上述a1至b9中任一项所述网页劫持检测方法所用的计算机软件指令,其包含用于执行上述方面为网页劫持检测方法所设计的程序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1