CN113111274A - 一种检测网页中隐藏暗链的方法和装置 - Google Patents
一种检测网页中隐藏暗链的方法和装置 Download PDFInfo
- Publication number
- CN113111274A CN113111274A CN202010026013.1A CN202010026013A CN113111274A CN 113111274 A CN113111274 A CN 113111274A CN 202010026013 A CN202010026013 A CN 202010026013A CN 113111274 A CN113111274 A CN 113111274A
- Authority
- CN
- China
- Prior art keywords
- attribute
- suspicious
- dark
- page
- dark chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 78
- 230000006870 function Effects 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000007373 indentation Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9558—Details of hyperlinks; Management of linked annotations
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种检测网页中隐藏暗链的方法和装置,属于计算机技术领域。所述方法包括:调用webkit访问目标网站的目标页面,建立所述目标页面的Render树;检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;若存在,则确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容。采用本发明,可以降低暗链检测设备对于网页中隐藏暗链的误报率及漏报率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种检测网页中隐藏暗链的方法和装置。
背景技术
随着互联网技术的发展,通过网站的网络流量获取经济收益已经是一种普遍营销方式。为此,某些网站会将其链接以在线访客不可见、但搜索引擎能搜索到的形式隐藏在其它正常网站上(俗称挂暗链),以获取大量的网络流量。这样一来,正常网站的用户流量会被分占,造成一定的经济损失;且若暗链的网站传播非法内容,还会给正常网站造成声誉损失,甚至使正常网站所属单位或个人被法律问责。故而,正常网站通常会对其网站是否被挂暗链进行检测,以防暗链对其造成不良影响。
现有技术中,大多是采用网站URL对比、敏感关键字检测(如博彩、色情等)等技术来检测网站是否被挂暗链。其中,网站URL对比可以是暗链检测设备将通过爬虫技术获取的网站下所有的URL,分别与预设的网站URL白名单进行匹配,若某一URL不在网站URL白名单中,则可以确认网站被挂暗链;敏感关键字检测可以是对上述网站URL进行访问请求,将响应页面的内容与检测装置上预设的敏感关键词库进行匹配,若某响应页面的内容中包含敏感关键词库中的内容,则可以确认网站被挂暗链。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术中的网站URL白名单有很大概率无法包含网站全部的URL,则检测时可能会误将不在白名单中的网站的URL判定为暗链,从而产生较高的误报率;再者,检测装置上预设的敏感关键词库可能无法包含所有的敏感关键字,则可能有些敏感关键字无法检测到,从而产生较高的漏报率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种检测网页中隐藏暗链的方法和装置。所述技术方案如下:
第一方面,提供了一种检测网页中隐藏暗链的方法,所述方法包括:
调用webkit访问目标网站的目标页面,建立所述目标页面的Render树;
检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;
若存在,则确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容。
第二方面,提供了一种检测网页中隐藏暗链的装置,所述装置包括:
建立模块,用于调用webkit访问目标网站的目标页面,建立所述目标页面的Render树;
检测模块,用于检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;
记录模块,用于若存在,则确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容。
第三方面,提供了一种暗链检测设备,所述暗链检测设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的检测网页中隐藏暗链的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的检测网页中隐藏暗链的方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,调用webkit访问目标网站的目标页面,建立目标页面的Render树;检测Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;若存在,则确定目标页面有可疑暗链并记录可疑暗链的属性内容。这样,通过调用webkit以及执行js代码来构建网页的Render树,并通过预设规则对Render树中的特定标签进行域外跳转属性和/或显示隐藏属性的判断,可以更加准确地检测出网页中是否存在隐藏暗链,从而可以降低暗链检测设备对于网页中隐藏暗链的误报率及漏报率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种检测网页中隐藏暗链的方法流程图;
图2为本发明实施例提供的一种检测网页中隐藏暗链的装置结构示意图;
图3为本发明实施例提供的一种检测网页中隐藏暗链的装置结构示意图;
图4为本发明实施例提供的一种暗链检测设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种检测网页中隐藏暗链的方法,该方法的执行主体可以是暗链检测设备,其中,暗链检测设备可以是网站方或者暗链检测服务方设置的,具备域名访问功能和数据处理分析功能的,用于对网站中的页面是否被挂有隐藏暗链进行检测的网络设备。暗链检测设备在对网站进行暗链检测时,可以从网站的任意URL开始,获取该URL对应的页面内的指定标签的属性内容,通过对属性内容进行分析,检测指定标签中是否隐藏有暗链,若没有检测到暗链,则再对其它URL进行检测,直至检测出暗链或将网站的所有URL都检测完毕,从而实现网站页面的隐藏暗链检测。暗链检测设备可以包括处理器、存储器和收发器,处理器可以用于进行下述流程中执行网站暗链检测的处理,存储器可以用于存储处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送处理过程中的相关数据。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,调用webkit访问目标网站的目标页面,建立目标页面的Render树。
其中,目标网站即待检测的网站;目标页面可以是目标网站中的任意URL的响应页面。
在实施中,网站方或暗链检测服务方可以定期通过上述暗链检测设备对目标网站进行隐藏暗链的检测。每次检测的过程中,暗链检测设备可以从目标网站的任意URL开始,通过selenium调用webkit访问该URL,并获取该URL对应的响应页面(即目标页面)。具体的,若未获取到目标网站的所有URL,暗链检测设备可以先对目标网站的首页发起访问,然后将接收到的首页中包含目标网站的域名(包括网站域名和网站域名的子域名)的所有URL存储至预设的待访问URL集中。接下来,暗链检测设备可以依次对待访问URL集中的每个目标URL分别发起访问,然后将接收到的响应页面内包含目标网站的域名(包括网站域名和网站域名的子域名)的所有URL增添至待访问URL集中,即暗链检测设备可以对新增添的URL继续执行上述访问和增添新URL的处理,如此循环重复,直至获取到目标网站下的所有URL。通常情况下,同一网站的同一URL,可以从该网站下的不同页面的链接访问到,所以,对每个URL进行访问时,通常会获取到很多重复的URL,可以将获取到的URL去重后再进行增添存储。进一步的,当循环数次后,增添的URL可能都是重复的,因此为了提高检测效率,可以设置循环次数(如3-5次)。此外,暗链检测设备也可以先对目标网站下任一页面发起访问请求,本实施例对此不做限定。之后,暗链检测设备可以通过HTML协议将响应页面的文本字符串解析成目标页面的DOM(文档对象化模型,Document Object Model)树,并通过CSS技术解析出DOM树中各个节点的Style Rules,继而可以将DOM树和Style Rules关联生成目标网页的Render树。
可选的,可以在建立Render树之前,对页面本身的合规性进行检测,相应的,步骤101的处理可以如下:判断当前页面的URL域名信息是否为目标网站的常规域名;如果是,则建立当前页面的Render树,否则将当前页面的URL和目标页面包含的全部URL标记为可疑暗链。
在实施中,暗链检测设备在访问目标网站的目标页面时,如果目标页面中被挂有存在即时跳转功能的暗链,那么将会直接跳转到暗链所指向的页面。这时,暗链检测设备若继续基于获取到的响应页面建立Render树,并对Render树中的特定标签进行检测,将无法成功检测出暗链。故而,暗链检测设备在建立Render树之前,可以先判断当前页面的URL域名信息是否为目标网站的常规域名(包括目标网站的网站域名和网站域名的子域名)。如果是的话,则可以确定未发生即时跳转,或者发生了合规的即时跳转,暗链检测设备则可以建立当前页面的Render树,并进行后续处理;而如果不是的话,则可以确定发生了非法的即时跳转,暗链检测设备则可以将当前页面的URL和当前页面包含的全部URL标记为可疑暗链,并存入可疑暗链列表中。之后,暗链检测设备在每次检测到新的可疑暗链时则在可疑暗链列表新增字段,而检测到已有的可疑暗链时则将可疑暗链的记数加一,借此统计可疑暗链在目标网站中的出现次数。
步骤102,检测Render树中的特定标签是否存在显示隐藏属性和/或域外跳转属性。
在实施中,暗链检测设备可以在构建了目标页面的Render树之后,采用js代码的getElementsByTagName()方法来获取Render树中特定标签的属性内容,并判断特定标签的属性内容中是否存在域外跳转属性和/或显示隐藏属性。可以理解,暗链本质上是可以定位资源的URL,挂暗链的方式可以是利用能够实现页面跳转的特定标签,将暗链URL写在特定标签的跳转属性中,并通过特定标签的显示属性进行隐藏。故而,在获取Render树中的标签时,可以只获取所有能够实现URL跳转的特定标签及特定标签的跳转属性和显示属性中。其中,特定标签可以包括但不限于Meta标签、Script标签、Iframe标签、A标签、Embed标签、Object标签及Frameset标签。特定标签的属性内容可以包括指向URL的跳转属性(如href属性、src属性及data属性等)和显示属性(如style属性、height属性、width属性、left属性及top属性等)。例如A标签:<a href="http://www.aaa.com/"name="abc"class="de"style="display:block;"></a>,其中,href属性为指向URL的跳转属性,其取值是http://www.aaa.com/;style为跳转属性,其取值为display:block。
可选的,在检测域外跳转属性时,可以主要针对Meta标签、Script标签和Iframe标签进行检测,相应的处理可以分别如下:检测Meta标签中http-equiv属性的取值是否为refresh,且取值的content中包含“http://”字符;或者,检测Script标签中是否包含settimeout函数,且settimeout函数的href属性或location属性的取值是否包含“http://”字符或者是否为URL;或者,检测Iframe标签中是否包含src属性。
在实施中,暗链检测设备可以对Render树中的Meta标签、Script标签和Iframe标签进行域外跳转属性的检测。对于Meta标签来说,其可以提供有关页面的元信息,主要用于定义与页面文档相关联的名称/值对;而Meta标签中的http-equiv属性具备页面自动刷新功能,即通过refresh来进行页面刷新或跳转(重定向),并通过refresh的取值content来表示刷新或跳转的开始时间与跳转的URL;而若是目标网站的内部页面跳转,content中将不会出现“http://”字符,故而可以通过检测content中是否包含“http://”字符的方式,来检测Meta标签是否存在域外跳转属性。对于Script标签来说,其可以通过settimeout函数来实现网页的定时跳转,因此可以通过检测Script标签中是否包含settimeout函数来判断目标页面是否设置有定时跳转功能,并且可以进一步判断settimeout函数的href属性或location属性的取值是否包含“http://”字符或者是否为URL,以确定该定时跳转是否为域外跳转。值得一提的,当href属性或location属性中未包含“http://”字符时,需要对取值内容进行判断,如果取值内容为URL,则可以认为是域外跳转;而如果取值内容为变量,则该变量可能是对URL进行混淆加密的方式得到的,故而需要通过执行js脚本对变量进行解密输出,以判断最终取值是否为URL。对于Iframe标签来说,其一般用来打开其它网站的页面,故而只要检测到Iframe标签中包含有src属性,就可以判定Iframe标签存在域外跳转属性。
可选的,在检测显示隐藏属性时,可以对A标签进行多维度的检测,相应的处理可以分别如下:检测A标签中是否含有href属性,且A标签是否满足如下条件中的至少一种:
A标签中的文件描述内容为空或空格,且显示宽高值设定为默认值或小于预设阈值;
A标签的样式中position:absolute属性中的left值或top值为负数;
A标签的样式中text-indent属性的取值小于预设缩进阈值;
A标签的样式中display属性的取值为none;
A标签的样式中visibility属性的取值为hidden;
A标签的样式中font-size属性的取值小于预设尺寸阈值。
在实施中,A标签一般用于定义超链接,通过A标签可以从一个页面链接到另一个页面,A标签中的href属性可以用来指示链接的目的页面。故而,在检测A标签是否具备显示隐藏属性前,可以先判断A标签中是否含有href属性,以判断A标签是否用于页面跳转。如果不包含href属性,则可以不对A标签继续进行检测;而如果包含href属性,则可以检测A标签是否具备显示隐藏属性,即是否满足如下条件中的至少一种:
(1)A标签中的文件描述内容为空或空格,且显示宽高值设定为默认值或小于预设阈值;其中,如果A标签中的文件描述内容为空或空格,则在页面中将无法看到A标签对应的链接,同时,若A标签的显示宽高值为默认的auto或者小于预设阈值(如10),则可以认为A标签具备显示隐藏属性。
(2)A标签的样式中position:absolute属性中的left值或top值为负数;其中,A标签的Style中position:absolute属性是用来在页面中定位A标签对应的元素的,通过设置left值和top值就可以确定具体的显示位置。故而,当position:absolute属性中的left值或top值为负数时,说明A标签对应的元素的显示位置处于页面的正常显示区域之外,可以认为A标签具备显示隐藏属性。进一步的,在计算position:absolute属性的left值或top值时,需要遍历Render树中A标签的父节点,并对各个父节点的相对定位的取值不断相加,从而可以以得到position:absolute属性的left值或top值。
(3)A标签的样式中text-indent属性的取值小于预设缩进阈值;其中,text-indent属性用来规定文本块中首行文本的缩进程度,当text-indent属性的取值小于预设缩进阈值时,说明A标签对应的元素的显示位置处于页面的正常显示区域之外,可以认为A标签具备显示隐藏属性。
(4)A标签的样式中display属性的取值为none;其中,display属性用于定义元素的显示规则,当display属性的取值为none时,说明A标签对应的元素未显示在页面中,可以认为A标签具备显示隐藏属性。
(5)A标签的样式中visibility属性的取值为hidden;其中,visibility属性规定元素是否可见,当visibility属性的取值为hidden时,说明A标签对应的元素未显示在页面中,可以认为A标签具备显示隐藏属性。
(6)A标签的样式中font-size属性的取值小于预设尺寸阈值;其中,font-size属性用于设置字体的尺寸,当font-size属性的取值小于预设尺寸阈值时,说明A标签对应的元素的字体尺寸过小,可以认为A标签具备显示隐藏属性。
可选的,在检测显示隐藏属性时,还可以针对Embed标签、Object标签和Frameset标签进行检测,相应的处理可以分别如下:检测Embed标签中是否包含src属性,且显示宽高值小于预设阈值;或者,检测Object标签中是否包含data属性,且显示宽高值小于预设阈值;或者,检测Frameset标签中是否含有src属性,且Frameset标签的cols属性值或rows属性值小于预设阈值。
在实施中,暗链检测设备可以对Embed标签、Object标签和Frameset标签进行显示隐藏属性的检测。对于Embed标签来说,其可以用来定义页面中嵌入的内容(如插件、媒体文件)等,当Embed标签中包含src属性,且显示宽高值小于预设阈值时,可以认为Embed标签中存在显示隐藏属性。对于Object标签来说,其可以用来在页面中嵌入对象,对象可以是图像、音频、视频、Java applets、ActiveX、PDF以及Flash文件等,并且通过data属性来定义引用对象数据的URL;故而当Object标签中包含data属性,且显示宽高值小于预设阈值时,可以认为Object标签中存在显示隐藏属性。对于Frameset标签来说,其可以用来定义页面中的框架集,可以包含一个或者多个<frame>元素,每个<frame>元素可以具备独立的src属性;Frameset标签的cols属性值或rows属性值用来定义框架集中存在多少列或多少行,以及每行每列占用的百分比/像素;当Frameset标签中含有src属性,且cols属性值或rows属性值小于预设阈值时,可以认为Frameset标签存在显示隐藏属性。需要说明的是,frameset标签的src属性是在<frame>元素中的,具体的检测的方法可以是先对所有<frame>元素的显示宽高值进行检测,如果某个<frame>元素的显示宽高值小于等于0,则可以提取对应的<frame>元素的src属性,然后将src属性的取值返回至python脚本,从而可以解析得到其中可能包含的URL。
可选的,若父标签存在显示隐藏属性,相应的子标签也可能存在显示隐藏属性,故而步骤102可以包括如下处理:当检测到特定标签的父标签为div标签时,判断div标签的样式中display属性的取值是否为none,或position:absolute属性中的left值或top值是否为负数。
在实施中,在对特定标签的显示隐藏属性进行检测时,暗链检测设备可以同样对其父标签进行检测。当父标签为div标签时,可以通过判断父标签的样式中display属性的取值是否为none,或position:absolute属性中的left值或top值是否为负数的方式,来判断父标签是否存在显示隐藏属性。而如果存在显示隐藏属性,则可以判定该父标签下的所有子标签也存在显示隐藏属性。这样,可以避免有些实际具备显示隐藏属性的标签,因未从父标签继承显示隐藏属性而无法被检测出的情况。
可选的,对于脱离文档流的特定标签,需要通过遍历父标签来进行定位,从而判断其是否具备显示隐藏属性,相应的步骤102可以包括如下处理:对于脱离文档流的特定标签,递归遍历特定标签的父标签;根据所有父标签的位置属性,确定特定标签的页面绝对坐标;判断页面绝对坐标是否处于目标页面的正常显示区域。
在实施中,对于脱离文档流的特定标签,可以对该特定标签进行文档内坐标还原判断。具体的,暗链检测设备可以对该特定标签的所有父标签进行递归遍历,然后将获取到的所有父标签的位置属性和特定标签的位置属性进行叠加,从而确定特定标签的页面绝对坐标。进而,暗链检测设备可以通过判断该页面绝对坐标是否处于目标页面的正常显示区域内的方式,来检测该特定标签是否存在显示隐藏属性。这样,可以有效检测出一些造成页面内容隐藏的脱离文档流的特定标签的显示隐藏属性。
步骤103,若存在,则确定目标页面有可疑暗链并记录可疑暗链的属性内容。
在实施中,暗链检测设备检测Render树中特定标签的属性内容时,如果发现某一特定标签中存在域外跳转属性和/或显示隐藏属性,则可以初步确定目标页面中存在可疑暗链。之后,暗链检测设备可以从该特定标签中的提取可疑暗链的属性内容,并对属性内容进行记录。而如果任一特定标签中均不存在域外跳转属性和/或显示隐藏属性,暗链检测设备则可以确定该目标页面中不包含可疑暗链,进而可以按照步骤101-步骤103的流程对目标网站的下一页面进行隐藏暗链的检测。
可选的,在记录可疑暗链的属性内容时,具体可以通过二维数组danger[][]记录可疑暗链对应的异常标签,以及异常标签的异常属性值、ID、类别以及命中次数。
在实施中,暗链检测设备在检测出可疑暗链之后,可以利用二维数组danger[][]记录可疑暗链的属性内容。具体的,数组danger[i][0]可以记录可疑暗链的URL;danger[i][1]可以记录判定为可疑暗链的原因:异常标签和对应的异常属性值,如果一个异常标签对应多个异常属性值,则可以用分号将多个异常属性值隔开;danger[i][2]可以记录异常标签的ID,以便于异常标签的定位、查找、验证和修改等;danger[i][3]可以记录异常标签的class的名称,以便于异常标签的定位、查找、验证和修改等;danger[i][4]可以记录异常标签的命中次数。
可选的,在确定了可疑暗链后,还可以对可疑暗链进行进一步的验证,相应的处理可以如下:判断可疑暗链的域名信息是否为目标网站的子域名或白名单域名;如果不是,且可疑暗链应用http或https协议,则判断可疑暗链在目标网站中的出现次数,和可疑暗链的域名信息是否属于恶意域名,以及可疑暗链的页面标题是否包含预设敏感词;如果出现次数小于预设次数阈值,或域名信息属于恶意域名,或页面标题包含预设敏感词,则将可疑暗链确定为真实暗链。
在实施中,暗链检测设备可以对检测出的可疑暗链进行进一步的验证。具体的,可以先判断可疑暗链的域名信息是否为目标网站的子域名或白名单域名。若是目标网站的子域名或白名单域名,则可以将可疑暗链删除;而若不是目标网站的子域名或白名单域名,则可以再判断可疑暗链是否应用了http或https协议。可以理解,若未应用http或https协议,表示该可疑暗链属于目标网站合规的内部跳转,则可以将可疑暗链删除;而若应用了http或https协议,表示该可疑暗链属于域外跳转,则可以继而判断可疑暗链在目标网站中的出现次数,和可疑暗链的域名信息是否属于恶意域名,以及可疑暗链的页面标题是否包含预设敏感词。此处,如果可疑暗链在目标网站中的出现次数不小于预设次数阈值,则有很大概率属于合规的外部链接,故而当可疑暗链的出现次数小于预设次数阈值时,可以确定可疑暗链为真实暗链。另外,若可疑暗链的域名信息属于恶意域名,或者可疑暗链的页面标题包含预设敏感词,也可以确定可疑暗链为真实暗链。这样,通过对可疑暗链的进一步验证,可以大大提高暗链的检测准确性,减少合规链接被误检测为暗链的情况。
可选的,确定了真实暗链后,可以向网站服务器提交检测日志,并基于网站服务器的反馈对暗链检测机制进行优化升级,相应的处理可以如下:生成包含真实暗链的URL、属性及目标页面的URL的检测日志,并将检测日志发送给目标网站的网站服务器;若接收到网站服务器发出的暗链误报指令,则根据真实暗链的URL更新预设的安全URL集。
在实施中,为了便于对检测结果进行存储和调用,暗链检测设备可以在确定了真实暗链之后,生成包含真实暗链的URL、属性及目标页面的URL的检测日志。并且进一步的根据网站方需要,还可以将检测日志发送给目标网站的网站服务器,以便目标网站方及时获悉检测结果,并对暗链加以防范。而若目标网站方发现接收到的检测结果为误报,可以向暗链检测设备发出的暗链误报指令。暗链检测设备接收到暗链误报指令后,可以自动将真实暗链的URL添加到预设的安全URL集中,实现安全URL集的更新。进而,在下次对目标网站的页面进行检测时,对于安全URL集中URL对应的页面,暗链检测设备可以不再将其标记为可疑暗链,从而可以提高目标网站中隐藏暗链的检测效率。
本发明实施例中,调用webkit访问目标网站的目标页面,建立目标页面的Render树;检测Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;若存在,则确定目标页面有可疑暗链并记录可疑暗链的属性内容。这样,通过调用webkit以及执行js代码来构建网页的Render树,并通过预设规则对Render树中的特定标签进行域外跳转属性和显示隐藏属性的判断,可以更加准确地检测出网页中是否存在隐藏暗链,从而可以降低暗链检测设备对于网页中隐藏暗链的误报率及漏报率。
基于相同的技术构思,本发明实施例还提供了一种检测网页中隐藏暗链的装置,如图2所示,所述装置包括:
建立模块201,用于调用webkit访问目标网站的目标页面,建立所述目标页面的Render树;
检测模块202,用于检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;
记录模块203,用于若存在,则确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容。
可选的,所述建立模块201,具体用于:
判断当前页面的URL域名信息是否为所述目标网站的常规域名;
如果是,则建立所述当前页面的Render树,否则将所述当前页面的URL和所述当前页面包含的全部URL标记为可疑暗链。
可选的,如图3所示,所述装置还包括验证模块204,用于:
判断所述可疑暗链的域名信息是否为所述目标网站的子域名或白名单域名;
如果不是,且所述可疑暗链应用http或https协议,则判断所述可疑暗链在所述目标网站中的出现次数,和所述可疑暗链的域名信息是否属于恶意域名,以及所述可疑暗链的页面标题是否包含预设敏感词;
如果所述出现次数小于预设次数阈值,或所述域名信息属于恶意域名,或所述页面标题包含预设敏感词,则将所述可疑暗链确定为真实暗链。
图4是本发明实施例提供的暗链检测设备的结构示意图。该暗链检测设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序462或数据466的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对暗链检测设备中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在暗链检测设备400上执行存储介质430中的一系列指令操作。
暗链检测设备400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘456,和/或,一个或一个以上操作系统461,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
暗链检测设备400可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述检测网页中隐藏暗链的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种检测网页中隐藏暗链的方法,其特征在于,所述方法包括:
调用webkit访问目标网站的目标页面,建立所述目标页面的Render树;
检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;
若存在,则确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容。
2.根据权利要求1所述的方法,其特征在于,所述建立所述目标页面的Render树,包括:
判断当前页面的URL域名信息是否为所述目标网站的常规域名;
如果是,则建立所述当前页面的Render树,否则将所述当前页面的URL和所述当前页面包含的全部URL标记为可疑暗链。
3.根据权利要求1所述的方法,其特征在于,所述检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性,包括:
检测Meta标签中http-equiv属性的取值是否为refresh,且所述取值的content中包含“http://”字符;或者,
检测Script标签中是否包含settimeout函数,且所述settimeout函数的href属性或location属性的取值是否包含“http://”字符或者是否为URL;或者,
检测Iframe标签中是否包含src属性。
4.根据权利要求1所述的方法,其特征在于,所述检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性,包括:
检测A标签中是否含有href属性,且所述A标签是否满足如下条件中的至少一种:
所述A标签中的文件描述内容为空或空格,且显示宽高值设定为默认值或小于预设阈值;
所述A标签的样式中position:absolute属性中的left值或top值为负数;
所述A标签的样式中text-indent属性的取值小于预设缩进阈值;
所述A标签的样式中display属性的取值为none;
所述A标签的样式中visibility属性的取值为hidden;
所述A标签的样式中font-size属性的取值小于预设尺寸阈值。
5.根据权利要求1所述的方法,其特征在于,所述检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性,包括:
检测Embed标签中是否包含src属性,且显示宽高值小于预设阈值;或者,
检测Object标签中是否包含data属性,且显示宽高值小于预设阈值;或者,
检测Frameset标签中是否含有src属性,且所述Frameset标签的cols属性值或rows属性值小于预设阈值。
6.根据权利要求1所述的方法,其特征在于,所述检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性,包括:
当检测到所述特定标签的父标签为div标签时,判断所述div标签的样式中display属性的取值是否为none,或position:absolute属性中的left值或top值是否为负数。
7.根据权利要求1所述的方法,其特征在于,所述检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性,包括:
对于脱离文档流的特定标签,递归遍历所述特定标签的父标签;
根据所有父标签的位置属性,确定所述特定标签的页面绝对坐标;
判断所述页面绝对坐标是否处于所述目标页面的正常显示区域。
8.根据权利要求3-7任意一项所述的方法,其特征在于,所述记录所述可疑暗链的属性内容,包括:
通过二维数组danger[][]记录所述可疑暗链对应的异常标签,以及所述异常标签的异常属性值、ID、类别以及命中次数。
9.根据权利要求1所述的方法,其特征在于,所述确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容之后,还包括:
判断所述可疑暗链的域名信息是否为所述目标网站的子域名或白名单域名;
如果不是,且所述可疑暗链应用http或https协议,则判断所述可疑暗链在所述目标网站中的出现次数,和所述可疑暗链的域名信息是否属于恶意域名,以及所述可疑暗链的页面标题是否包含预设敏感词;
如果所述出现次数小于预设次数阈值,或所述域名信息属于恶意域名,或所述页面标题包含预设敏感词,则将所述可疑暗链确定为真实暗链。
10.根据权利要求9所述的方法,其特征在于,所述将所述可疑暗链确定为真实暗链之后,还包括:
生成包含所述真实暗链的URL、属性及所述目标页面的URL的检测日志,并将所述检测日志发送给所述目标网站的网站服务器;
若接收到所述网站服务器发出的暗链误报指令,则根据所述真实暗链的URL更新预设的安全URL集。
11.一种检测网页中隐藏暗链的装置,其特征在于,所述装置包括:
建立模块,用于调用webkit访问目标网站的目标页面,建立所述目标页面的Render树;
检测模块,用于检测所述Render树中的特定标签是否存在域外跳转属性和/或显示隐藏属性;
记录模块,用于若存在,则确定所述目标页面有可疑暗链并记录所述可疑暗链的属性内容。
12.根据权利要求11所述的装置,其特征在于,所述建立模块,具体用于:
判断当前页面的URL域名信息是否为所述目标网站的常规域名;
如果是,则建立所述当前页面的Render树,否则将所述当前页面的URL和所述当前页面包含的全部URL标记为可疑暗链。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括验证模块,用于:
判断所述可疑暗链的域名信息是否为所述目标网站的子域名或白名单域名;
如果不是,且所述可疑暗链应用http或https协议,则判断所述可疑暗链在所述目标网站中的出现次数,和所述可疑暗链的域名信息是否属于恶意域名,以及所述可疑暗链的页面标题是否包含预设敏感词;
如果所述出现次数小于预设次数阈值,或所述域名信息属于恶意域名,或所述页面标题包含预设敏感词,则将所述可疑暗链确定为真实暗链。
14.一种暗链检测设备,其特征在于,所述暗链检测设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一项所述的检测网页中隐藏暗链的方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至10任一项所述的检测网页中隐藏暗链的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010026013.1A CN113111274A (zh) | 2020-01-10 | 2020-01-10 | 一种检测网页中隐藏暗链的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010026013.1A CN113111274A (zh) | 2020-01-10 | 2020-01-10 | 一种检测网页中隐藏暗链的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113111274A true CN113111274A (zh) | 2021-07-13 |
Family
ID=76708604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010026013.1A Pending CN113111274A (zh) | 2020-01-10 | 2020-01-10 | 一种检测网页中隐藏暗链的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111274A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972237A (zh) * | 2024-04-01 | 2024-05-03 | 北京长亭科技有限公司 | 一种暗链威胁的页面劫持检测方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205547A1 (en) * | 2009-02-06 | 2010-08-12 | Flemming Boegelund | Cascading menus for remote popping |
CN103020156A (zh) * | 2012-11-23 | 2013-04-03 | 北京小米科技有限责任公司 | 一种针对网页的处理方法、装置和设备 |
CN103778365A (zh) * | 2012-10-18 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 一种检测网页隐藏内容的方法,及设备 |
CN110309667A (zh) * | 2019-04-16 | 2019-10-08 | 网宿科技股份有限公司 | 一种网站暗链检测方法和装置 |
-
2020
- 2020-01-10 CN CN202010026013.1A patent/CN113111274A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205547A1 (en) * | 2009-02-06 | 2010-08-12 | Flemming Boegelund | Cascading menus for remote popping |
CN103778365A (zh) * | 2012-10-18 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 一种检测网页隐藏内容的方法,及设备 |
CN103020156A (zh) * | 2012-11-23 | 2013-04-03 | 北京小米科技有限责任公司 | 一种针对网页的处理方法、装置和设备 |
CN110309667A (zh) * | 2019-04-16 | 2019-10-08 | 网宿科技股份有限公司 | 一种网站暗链检测方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972237A (zh) * | 2024-04-01 | 2024-05-03 | 北京长亭科技有限公司 | 一种暗链威胁的页面劫持检测方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9614862B2 (en) | System and method for webpage analysis | |
CN101964025B (zh) | Xss检测方法和设备 | |
CN102436563B (zh) | 一种检测页面篡改的方法及装置 | |
US20090199083A1 (en) | Method of enabling the modification and annotation of a webpage from a web browser | |
US20170199850A1 (en) | Method and system to decrease page load time by leveraging network latency | |
US20200336498A1 (en) | Method and apparatus for detecting hidden link in website | |
CN102446255B (zh) | 一种检测页面篡改的方法及装置 | |
CN102591965B (zh) | 一种黑链检测的方法及装置 | |
CN102436564A (zh) | 一种识别被篡改网页的方法及装置 | |
CN110309667B (zh) | 一种网站暗链检测方法和装置 | |
CN106022126B (zh) | 一种面向web木马检测的网页特征提取方法 | |
CN108900554B (zh) | Http协议资产检测方法、系统、设备及计算机介质 | |
CN113518077A (zh) | 一种恶意网络爬虫检测方法、装置、设备及存储介质 | |
CN107784107B (zh) | 基于逃逸行为分析的暗链检测方法及装置 | |
CN110929257B (zh) | 一种网页中携带恶意代码的检测方法和装置 | |
CN104036190A (zh) | 一种检测页面篡改的方法及装置 | |
CN108363711B (zh) | 一种网页中的暗链的检测方法和装置 | |
CN104036189A (zh) | 页面篡改检测方法及黑链数据库生成方法 | |
CN114021042A (zh) | 网页内容的提取方法、装置、计算机设备和存储介质 | |
CN113111274A (zh) | 一种检测网页中隐藏暗链的方法和装置 | |
US8121991B1 (en) | Identifying transient paths within websites | |
CN108183902A (zh) | 一种恶意网站的识别方法和装置 | |
CN109684844B (zh) | 一种webshell检测方法、装置以及计算设备、计算机可读存储介质 | |
CN113742785A (zh) | 一种网页分类方法、装置、电子设备及存储介质 | |
CN103581321A (zh) | 一种refer链的创建方法、装置及安全检测方法和客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |