一种网页中的暗链的检测方法和装置与流程

文档序号:15095812发布日期:2018-08-04 14:32阅读:552来源:国知局

本发明涉及计算机网络安全技术领域,尤其涉及一种网页中的暗链的检测方法和装置。



背景技术:

“暗链”是一种搜索引擎优化的手段,用于提高它所指向的网站的搜索排名,是最有效的搜索引擎优化(SEO, Search Engine Optimization)方法之一。 “暗链”正如它的名字所描述的一样,是一种在网页页面上不可见或极易被忽视的超链接,并尽量不去破坏网页原有的结构。在网站页面被攻击成功后,被插入暗链的可能性很大,这会给网站带来负面影响,过大的负面影响可能会带来严重的经济损失,同时当暗链被搜索引擎发现时,会降低被插入暗链的页面的搜索排名。

目前市场上有专门监控网页上的暗链的产品,但是,这些产品所用的技术主要是监控非授权用户篡改页面,或者是将网页上的外链与预设规则进行比对来分辨网页上的外链中的暗链。这些检测方式是滞后的,并且需要定期更新规则。



技术实现要素:

本发明实施例提供了一种网页中的暗链的检测方法和装置,用以解决现有的暗链检测方法需要定期更新规则的问题。

基于上述问题,本发明实施例提供的一种网页中的暗链的检测方法,包括:

访问目标网页;

根据目标网页所属站点的主机返回的结果确定目标网页中的链接;

查找所述目标网页中的链接中的外链;

在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记,并生成页面;其中,不同的外链的位置设置的标记不同;

将生成的页面转换为图片,识别所述图片中的标记;

确定未被发现的标记所处的位置的外链为暗链。

可选地,根据目标网页所属站点返回的结果确定目标网页中的链接,包括:

将目标网页所属站点返回的结果中的超文本标记语言HTML文件和Javascript脚本文件均与层叠式样式表CSS文件进行渲染,并根据渲染的结果确定目标网页中的链接。

可选地,查找所述目标网页中的链接中的外链,包括:

确定所述目标网页中的<a>标签的herf属性与目标网页所属站点的主机不同的对象,为所述目标网页中的链接中的外链。

可选地,根据以下步骤为查找到的各个外链生成与所述目标网页上的内容不同的标记,并且为查找到的各个外链生成的标记各不相同;

生成消息摘要算法第五版MD5值;

重复执行判断所述目标网页中是否存在最新生成的MD5值的步骤,和在最新生成的MD5值存在于所述目标网页中时对最新生成的MD5值再次求MD5值的步骤,直至最新生成的MD5值不存在于所述目标网页中;

在目标网页中不存在最新生成的MD5值后,将目标网页中不存在的MD5值作为基础MD5值,在基础MD5值中分别加入n-1个不同的字符或者数字,生成目标网页中不存在的,n-1个不同的MD5值;其中,n为所述目标网页中的外链的个数。

可选地,根据以下步骤为查找到的各个外链生成与所述目标网页上的内容不同的标记,并且为查找到的各个外链生成的标记各不相同;

生成消息摘要算法第五版MD5值;

重复执行判断所述目标网页中是否存在最新生成的MD5值的步骤,和在最新生成的MD5值存在于所述目标网页中时对最新生成的MD5值再次求MD5值的步骤,直至最新生成的MD5值不存在于所述目标网页中;

在目标网页中不存在最新生成的MD5值后,对最新生成的MD5值重复求MD5值,直至获得n-1个不同的,且目标网页中不存在的MD5值;其中,n为所述目标网页中的外链的个数。

本发明实施例提供的一种网页中的暗链的检测装置,包括:

访问模块,用于访问目标网页;

第一确定模块,用于根据目标网页所属站点的主机返回的结果确定目标网页中的链接;

查找模块,用于查找所述目标网页中的链接中的外链;

设置生成模块,用于在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记,并生成页面;其中,不同的外链的位置设置的标记不同;

转换识别模块,用于将生成的页面转换为图片,识别所述图片中的标记;

第二确定模块,用于确定未被发现的标记所处的位置的外链为暗链。

可选地,所述第一确定模块用于:

将目标网页所属站点返回的结果中的超文本标记语言HTML文件和Javascript脚本文件均与层叠式样式表CSS文件进行渲染,并根据渲染的结果确定目标网页中的链接。

可选地,所述查找模块用于:

确定所述目标网页中的<a>标签的herf属性与目标网页所属站点的主机不同的对象,为所述目标网页中的链接中的外链。

可选地,所述设置生成模块还用于:

在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记之前,生成消息摘要算法第五版MD5值;

重复执行判断所述目标网页中是否存在最新生成的MD5值的步骤,和在最新生成的MD5值存在于所述目标网页中时对最新生成的MD5值再次求MD5值的步骤,直至最新生成的MD5值不存在于所述目标网页中;

在目标网页中不存在最新生成的MD5值后,将目标网页中不存在的MD5值作为基础MD5值,在基础MD5值中分别加入n-1个不同的字符或者数字,生成目标网页中不存在的,n-1个不同的MD5值;其中,n为所述目标网页中的外链的个数。

可选地,所述设置生成模块还用于:

在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记之前,生成消息摘要算法第五版MD5值;

重复执行判断所述目标网页中是否存在最新生成的MD5值的步骤,和在最新生成的MD5值存在于所述目标网页中时对最新生成的MD5值再次求MD5值的步骤,直至最新生成的MD5值不存在于所述目标网页中;

在目标网页中不存在最新生成的MD5值后,对最新生成的MD5值重复求MD5值,直至获得n-1个不同的,且目标网页中不存在的MD5值;其中,n为所述目标网页中的外链的个数。

本发明实施例的有益效果包括:

本发明实施例提供的一种网页中的暗链的检测方法和装置,在访问目标网页后,根据目标网页所属站点的主机返回的结果确定目标网页中的链接,再查找目标网页中的链接中的外链,并在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记,并生成页面,然后将生成的页面转换成图片,识别图片中的标记,由于不同的外链的位置设置的标记不同,也就是说,页面中的外链与设置的标记是一一对应的,这样,在设置完标记后,将生成的页面转换为图片,然后从转换的图片中识别所设置的标记,将未被发现的标记所处的位置的外链确定为暗链。采用本发明实施例提供的网页中的暗链的检测方法和装置,无需将网页上的外链与预设规则进行比对,这样避免了检测网页上的暗链时要定期更新规则的弊端。

附图说明

图1为本发明实施例提供的网页中的暗链的检测方法的流程图;

图2为本发明实施例提供的为查找到的各个外链生成与目标网页上的内容不同的标记,并且为查找到的各个外链生成的标记各不相同的方法的流程图之一;

图3为本发明实施例提供的为查找到的各个外链生成与目标网页上的内容不同的标记,并且为查找到的各个外链生成的标记各不相同的方法的流程图之二;

图4为本发明实施例提供的在目标网页中不存在最新生成的MD5值后,对最新生成的MD5值重复求MD5值,直至获得n-1个不同的,且目标网页中不存在的MD5值的方法的流程图;

图5为本发明实施例提供的网页中的暗链的检测装置的结构示意图。

具体实施方式

本发明实施例提供的一种网页中的暗链的检测方法和装置,在访问目标网页后,根据目标网页所属站点的主机返回的结果确定目标网页中的外链,并在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记,并生成页面,然后将生成的页面转换成图片,识别图片中的标记,根据页面中的外链与设置的标记一一对应的关系,在设置完标记后,将生成的页面转换为图片,然后从转换的图片中识别所设置的标记,将未被发现的标记所处的位置的外链确定为暗链,从而避免了检测网页上的暗链时要定期更新规则的弊端。

下面结合说明书附图,对本发明实施例提供的一种网页中的暗链的检测方法和装置的具体实施方式进行说明。

本发明实施例提供的一种网页中的暗链的检测方法,如图1所示,具体包括以下步骤:

S101、访问目标网页;

S102、根据目标网页所属站点的主机返回的结果确定目标网页中的链接;

S103、查找所述目标网页中的链接中的外链;其中,外链是除目标网页所属站点的目录下的链接以外的链接;

S104、在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记,并生成页面;其中,不同的外链的位置设置的标记不同;例如,设置的标记可以设加黑放大的字体标记A,A为目标网页中原本不存在的字符串;

S105、将生成的页面转换为图片,识别该图片中的标记;

S106、确定未被发现的标记所处的位置的外链为暗链。

其中,访问目标网页可以采用爬虫技术和浏览器内核渲染技术来访问目标网页。

由于网页中的<a>标签定义了超链接,用于从一张页面链接到另一张页面。因此,针对要检测的网页,向目标网页发送http请求,将返回结果中的超文本标记语言(HyperText Markup Language, HTML)文件和Javascript脚本文件均与层叠式样式表(Cascading Style Sheets)文件进行渲染,并将渲染的结果中的<a>标签确定为目标网页中的链接。

进一步地,网页中的<a>标签的herf属性指示了链接的目标,因此,查找目标网页中的链接中的外链,具体可以是将该目标网页中的<a>标签的herf属性与目标网页所属站点的主机不同的对象,确定为该目标网页中的链接中的外链。

其中,在从渲染的结果中确定出目标网页中的链接,并确定出其中的外链时,可以利用预先写的javascript脚本分析目标网页中的链接,查找非目标网页所属站点目录下的链接。

针对一个外链,在该外链位置插入标记后生成的页面中,如果还能看到插入的标记的话,那说明该外链不是暗链,如果看不到插入的标记的话,那说明该外链是一个暗链。

在S105中,生成的图片可以是png,jpg等格式的,可以通过图像识别技术识别图片中的标记,如果在外链位置设置的标记为加黑放大的字符标记A,那么,识别图片中的字符标记A。如果在生成的图片中发现了字符标记A,那么,说明字符标记A所处位置处的外链是明链;如果生成的图片中没有发现字符标记A,那么,说明字符标记A所处位置处的外链是暗链。

可选地,采用图2所示的方法为查找到的各个外链生成与目标网页上的内容不同的标记,并且为查找到的各个外链生成的标记各不相同;

S201、生成消息摘要算法第五版(Message Digest Algorithm, MD5)值;当然,生成的MD5值可以是目标网页所属站点的主机根据该站点的内容生成的一个MD5值,也可以是目标网页所属站点的主机也可以根据其他内容生成一个MD5值,还可以是其他的实体根据其他的内容生成的一个MD5值;

S202、判断目标网页中是否存在最新生成的MD5值;若是,执行S203;否则,执行S204;

S203、对最新生成的MD5值再次求MD5值;然后执行S202,直到目标网页中不存在最新生成的MD5值;然后执行S204;

S204,将目标网页中不存在的MD5值作为基础MD5值,在基础MD5值中分别加入n-1个不同的字符或者数字,生成目标网页中不存在的,n-1个不同的MD5值;其中,n为所述目标网页中的外链的个数。

其中,当目标网页所属站点的主机根据该站点的内容生成的MD5值在目标网页中不存在时,基础MD5值是目标网页所属站点的主机根据该站点的内容生成的MD5值;当目标网页所属站点的主机根据该站点的内容生成的MD5值在目标网页中存在时,基础MD5值是对最新生成的MD5值至少再求一次MD5值得到的。

当然,也可以在基础MD5值中分别加入n个不同的字符或者数字,生成目标网页中不存在的,n个不同的MD5值;这样,就有n+1个目标网页中不存在的MD5值,并且,这n+1个目标网页中不存在的MD5值两两不同。

在某一具体应用场景中,当目标网页中有5个外链时,若基础的MD5为0ca175b9c0f726a831d895e269332461,则在第一个外链的位置增加的标记为0ca175b9c0f726a831d895e2693324611,在第二个外链的位置增加的标记为0ca175b9c0f726a831d895e2693324612,在第三个外链的位置增加的标记为0ca175b9c0f726a831d895e2693324613,在第四个外链的位置增加的标记为0ca175b9c0f726a831d895e2693324614,在第五个外链的位置增加的标记为0ca175b9c0f726a831d895e2693324615。

可选地,也采用图3所示的方法为查找到的各个外链生成与目标网页上的内容不同的标记,并且为查找到的各个外链生成的标记各不相同;

S301、生成MD5值;当然,生成的MD5值可以是目标网页所属站点的主机根据该站点的内容生成的一个MD5值,也可以是目标网页所属站点的主机也可以根据其他内容生成一个MD5值,还可以是其他的实体根据其他的内容生成的一个MD5值;

S302、判断目标网页中是否存在最新生成的MD5值;若是,执行S303;否则,执行S304;

S303、对最新生成的MD5值再次求MD5值;然后执行S302,直到目标网页中不存在最新生成的MD5值;然后执行S304;

S304,在目标网页中不存在最新生成的MD5值后,对最新生成的MD5值重复求MD5值,直至获得n-1个不同的,且目标网页中不存在的MD5值;其中,n为所述目标网页中的外链的个数。

当然,在目标网页中不存在最新生成的MD5值后,也可以对最新生成的MD5值重复求MD5值,直至获得n个不同的,且目标网页中不存在的MD5值;这样,就有n+1个目标网页中不存在的MD5值,并且,这n+1个目标网页中不存在的MD5值两两不同。

进一步地,可以采用图4所示的方法,在目标网页中不存在最新生成的MD5值后,对最新生成的MD5值重复求MD5值,直至获得n-1个不同的,且目标网页中不存在的MD5值;

S401、流程开始;

S402、对最新生成的MD5值求MD5值;

S403、判断最新求得的MD5值是否存在于目标网页中;若是,执行S404;否则,执行S405;

S404、对最新求得的MD5值再次求MD5值;

S405、判断最新求得的MD5值与已经求得的、目标网页中不存在的各个MD5值是否相同;若是,执行S404;否则,执行S406;

S406、将已经求得的、目标网页中不存在的MD5值的个数加一;

S407、判断已经求得的、目标网页中不存在的MD5值的个数是否大于n-1;若是,执行S408;否则,执行S403;

S408、流程结束。

基于同一发明构思,本发明实施例还提供了一种网页中的暗链的检测装置,由于该装置所解决问题的原理与前述网页中的暗链的检测方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。

本发明实施例提供的一种网页中的暗链的检测装置,如图5所示,包括:

访问模块51,用于访问目标网页;

第一确定模块52,用于根据目标网页所属站点的主机返回的结果确定目标网页中的链接;

查找模块53,用于查找所述目标网页中的链接中的外链;

设置生成模块54,用于在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记,并生成页面;其中,不同的外链的位置设置的标记不同;

转换识别模块55,用于将生成的页面转换为图片,识别所述图片中的标记;

第二确定模块56,用于确定未被发现的标记所处的位置的外链为暗链。

可选地,第一确定模块52用于:将目标网页所属站点返回的结果中的超文本标记语言HTML文件和Javascript脚本文件均与层叠式样式表CSS文件进行渲染,并根据渲染的结果确定目标网页中的链接。

可选地,查找模块53用于:确定所述目标网页中的<a>标签的herf属性与目标网页所属站点的主机不同的对象,为所述目标网页中的链接中的外链。

可选地,设置生成模块54还用于:在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记之前,生成消息摘要算法第五版MD5值;

重复执行判断所述目标网页中是否存在最新生成的MD5值的步骤,和在最新生成的MD5值存在于所述目标网页中时对最新生成的MD5值再次求MD5值的步骤,直至最新生成的MD5值不存在于所述目标网页中;

在目标网页中不存在最新生成的MD5值后,将目标网页中不存在的MD5值作为基础MD5值,在基础MD5值中分别加入n-1个不同的字符或者数字,生成目标网页中不存在的,n-1个不同的MD5值;其中,n为所述目标网页中的外链的个数。

可选地,设置生成模块54还用于:在返回结果中查找到的外链的位置设置与所述目标网页上的内容不同的标记之前,生成消息摘要算法第五版MD5值;

重复执行判断所述目标网页中是否存在最新生成的MD5值的步骤,和在最新生成的MD5值存在于所述目标网页中时对最新生成的MD5值再次求MD5值的步骤,直至最新生成的MD5值不存在于所述目标网页中;

在目标网页中不存在最新生成的MD5值后,对最新生成的MD5值重复求MD5值,直至获得n-1个不同的,且目标网页中不存在的MD5值;其中,n为所述目标网页中的外链的个数。

上述的访问模块51,第一确定模块52,查找模块53,设置生成模块54,转换识别模块55和第二确定模块可以通过将实现这些模块的功能的指令存储到目标网页所属站点的主机的存储器中,并有该主机中的处理器来执行存储的指令的方式来实现。

本发明实施例提供的网页中的暗链的检测方法和装置,借助浏览器渲染与数字图像处理,将传统的静态分析,也就是需要人工持续更新规则的工作,转变为动态的分析网页中的链接,从而避免了持续更新规则的弊端,并达到了检测更准确的效果。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

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

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