CN108984673B - 一种文件检测方法及装置 - Google Patents
一种文件检测方法及装置 Download PDFInfo
- Publication number
- CN108984673B CN108984673B CN201810704707.9A CN201810704707A CN108984673B CN 108984673 B CN108984673 B CN 108984673B CN 201810704707 A CN201810704707 A CN 201810704707A CN 108984673 B CN108984673 B CN 108984673B
- Authority
- CN
- China
- Prior art keywords
- url
- file
- page
- urls
- request
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种文件检测方法及装置,其中方法包括:在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一页面内容包括第一URL,再根据该第一URL确定出N个第二URL,基于该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件。采用本申请实施例,可以提高文件检测的准确性,从而减少误报。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种文件检测方法及装置。
背景技术
敏感文件检测是指通过暴力尝试的方法猜测web服务器或网站中是否存在特定的敏感文件(如测试文件、配置文件、管理后台文件、备份文件等)。通常来说,在网站或web服务器中,敏感文件指的是包含一些敏感信息的文件,不能被任意用户直接访问。
目前,通常是通过匹配特定超文本传输协议(hyper text transfer protocol,http)请求返回的状态码是否为200(服务器已成功处理了请求,说明网页可以正常访问)来确定web服务器或网站中是否存在敏感文件。若http请求返回的状态码为200,说明这个页面文件能被正常访问。若http请求返回的状态码不是200,而是404(服务器找不到请求的网页)或403(服务器拒绝请求),说明这个页面文件不能被访问。但因为一些网站定制了http请求返回的状态码404页面,当用户访问不存在的页面(如敏感文件)时仍会返回200,以返回状态码来判断特定页面是否存在会出现大量的误报。
发明内容
本申请实施例提供一种文件检测方法及装置,可以提高文件检测的准确性,减少误报。
第一方面,本申请实施例提供了一种文件检测方法,该方法包括:
在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一请求包括第一统一资源定位符URL;
根据该第一URL确定出N个第二URL,该N个第二URL中任一第二URL为基于该第一URL变换后得到的URL,该N为大于或等于1的整数;
基于该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,其中一个第二请求包括一个第二URL,一个第二请求对应一个第二页面内容;
若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件,该M为大于或等于1的整数,该M小于或等于该N。
在一种可能的设计中,根据该第一URL确定出N个第二URL,包括:对该第一URL的文件名部分进行N次不同的字符变换,得到N个第二URL。其中,一次字符变换得到一个第二URL。
在一种可能的设计中,根据该第一URL确定出N个第二URL,包括:对该第一URL的文件后缀名进行N次不同的修改,得到N个第二URL。其中,一次修改得到一个第二URL。
在一种可能的设计中,对该第一URL的文件名部分进行N次不同的字符变换,包括:在该第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL。其中,在该第一URL的文件名部分中任一位置增加一个或者多个字符为该第一URL的文件名部分的一次字符变换。
在一种可能的设计中,若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件,包括:
获取该第一页面内容中的第一特征,并获取该N个第二页面内容的N个第二特征,一个该第二页面内容对应一个该第二特征;检测该第一特征与该N个第二特征中的各个第二特征是否匹配;若该N个第二特征中存在M个第二特征与该第一特征匹配,则确定该第一URL对应的文件为目标文件。
在一种可能的设计中,若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件,包括:
获取该N个第二页面内容中每个第二页面内容与该第一页面内容之间的相似度值,得到N个相似度值;若该N个相似度值中存在M个相似度值大于相似度阈值,则确定该第一URL对应的文件为目标文件。
第二方面,本申请实施例提供了一种文件检测装置,该装置包括:
获取模块,用于在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一请求包括第一统一资源定位符URL;
第一确定模块,用于根据该获取模块获取的该第一URL确定出N个第二URL,该N个第二URL中任一第二URL为基于该第一URL变换后得到的URL,该N为大于或等于1的整数;
收发模块,用于基于该第一确定模块确定的该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,其中一个第二请求包括一个第二URL,一个第二请求对应一个第二页面内容;
第二确定模块,用于当该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配时,确定该第一URL对应的文件为目标文件,该M为大于或等于1的整数,该M小于或等于该N。
在一种可能的设计中,该第一确定模块用于对该获取模块获取的该第一URL的文件名部分进行N次不同的字符变换,得到N个第二URL。其中,一次字符变换得到一个第二URL。
在一种可能的设计中,该第一确定模块用于对该获取模块获取的该第一URL的文件后缀名进行N次不同的修改,得到N个第二URL。其中,一次修改得到一个第二URL。
在一种可能的设计中,该第一确定模块用于在该获取模块获取的该第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL;其中,在该第一URL的文件名部分中任一位置增加一个或者多个字符为该第一URL的文件名部分的一次字符变换。
在一种可能的设计中,该第二确定模块包括:第一获取单元,用于获取该第一页面内容中的第一特征,并获取该N个第二页面内容的N个第二特征,一个该第二页面内容对应一个该第二特征;检测单元,用于检测该第一获取单元获取到的该第一特征与该N个第二特征中的各个第二特征是否匹配;第一确定单元,用于当该N个第二特征中存在M个第二特征与该第一特征匹配时,确定该第一URL对应的文件为目标文件。
在一种可能的设计中,该第二确定模块包括:第二获取单元,用于获取该N个第二页面内容中每个第二页面内容与该第一页面内容之间的相似度值,得到N个相似度值;第二确定单元,用于当该N个相似度值中存在M个相似度值大于相似度阈值时,则确定该第一URL对应的文件为目标文件。
第三方面,本申请实施例提供了一种终端,包括处理器、输入设备、输出设备和存储器,该处理器、输入设备、输出设备和存储器相互连接,其中,该存储器用于存储支持终端执行上述方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用该程序指令,执行上述第一方面的文件检测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面的文件检测方法。
本申请实施例通过在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一页面内容包括第一URL,再根据该第一URL确定出N个第二URL,基于该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件,可以提高敏感文件检测的准确性,从而减少敏感文件的误报。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文件检测方法的一示意流程图;
图2是本申请实施例提供的文件检测方法的另一示意流程图;
图3是本申请实施例提供的文件检测装置的一示意性框图;
图4是本申请实施例提供的终端的一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
还应当理解,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请实施例可以应用在网站或web服务器的渗透测试过程中。渗透测试是一种利用模拟黑客攻击的方式,来评估计算机网络系统安全性能的方法。通常在对网站或web服务器进行渗透测试时,需要对网站或web服务器进行全面的信息收集,扫描网站或web服务器中是否存在敏感文件如配置文件、日志文件等。这是因为在网站或web服务器中,敏感文件指的是包含一些敏感信息的文件,不能被任意用户直接访问。若该网站或web服务器中的敏感文件能被任意用户访问,那么黑客就可能利用这些敏感文件中携带的信息攻击该网站或web服务器,从而可能导致该网站或web服务器瘫痪,更甚可能导致该网站或web服务器的用户财产损失。
本申请实施例通过比较包含第一URL的第一请求返回的页面内容和包含第二URL(网站或web服务器中没有的URL,即不存在URL)的第二请求返回的页面内容是否匹配来判断该网站或web服务器中的敏感文件是否能被任意用户访问,若匹配,说明该网站或web服务器中的敏感文件能被任意用户访问,那么可以确定该第一URL对应的文件为敏感文件,提高了敏感文件检测的准确性,减少了误报。还可以在发现敏感文件之后及时修改该第一URL对应的文件的权限或删除该第一URL对应的文件,进而可以提高该网站或web服务器的安全性。
下面将结合图1至图4,对本申请实施例提供的文件检测方法及装置进行说明。
本申请实施例中的第一请求和第二请求可以指同一类请求,比如第一请求为第一http请求,则第二请求即为第二http请求。本申请实施例以第一http请求和第二http请求为例。
参见图1,是本申请实施例提供的文件检测方法的一示意流程图,如图1所示,该文件检测方法可包括:
S101,终端在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对第一请求返回的第一页面内容。
在一些可行的实施方式中,终端可以利用敏感文件扫描工具如BBScan、Dirsearch、Opendoor等对服务器中的URL进行扫描,扫描过程可以为利用敏感文件扫描工具向服务器发送包含URL的http请求,该服务器接收到该http请求后可以向该终端发送该http请求中该URL对应的http状态码,如状态码200(服务器已成功处理了请求,说明网页可以正常访问)、状态码404(服务器找不到请求的网页)、状态码403(服务器拒绝请求)等等。当终端接收到该服务器针对第一http请求返回的状态码为目标状态码200时,终端先不确定该第一http请求携带的第一URL能被任意用户访问,终端可以接收该服务器针对该第一http请求返回的第一页面内容。其中,该第一http请求包括该第一URL。
S102,终端根据第一URL确定出N个第二URL。
在一些可行的实施方式中,URL的结构通常为“协议://服务器名称(IP地址)/路径/文件名”。终端可以根据预设的规则(如在上述第一URL的文件名部分增加字符)对上述第一URL的文件名部分进行至少一次不同的字符变换,和/或对上述第一URL的文件后缀名进行至少一次不同的修改,共得到N个不同的第二URL。其中,该N个不同的第二URL中任一第二URL可以为上述服务器中没有的URL,即不存在的URL,该N为大于或等于1的整数。一次字符变换得到一个第二URL,一次修改得到一个第二URL。字符的类型可以为数字、字母(包括大小写)、以及特殊字符中的一种或多种,本申请实施例不做限定。本申请实施例中的终端可以根据预设的规则,自动对第一URL进行变换,从而得到多个不同的第二URL(实际上第二URL是不存在的URL),进而减少了人工处理环节,提高了文件检测的处理效率。
例如,第一URL为http://xxx.pingan.com/conf/config.inc,且该第一URL对应的状态码为200,终端可以在该第一URL的文件名头部增加单个字符“m”得到一个第二URL为http://xxx.pingan.com/conf/mconfig.inc,终端还可以将该第一URL的文件后缀名“.inc”修改为不存在的后缀名格式“.inu”得到另一个第二URL为http://xxx.pingan.com/conf/mconfig.inu。
S103,终端基于N个第二URL向服务器发送N个第二请求,并接收服务器针对N个第二请求返回的N个第二页面内容。
在一些可行的实施方式中,终端可以基于上述确定出的N个第二URL向上述服务器发送N个第二http请求,该服务器在接收到终端发送的第二http请求之后,针对每个第二http请求都返回一个该第二http请求对应的第二页面内容,终端可以接收该服务器针对该N个第二http请求返回的N个第二页面内容。其中,一个第二http请求中包括上述确定出的一个第二URL,一个第二http请求对应一个第二页面内容。例如,假设N=3,上述确定的3个第二URL可以分别表示为URL-a、URL-b、URL-c,终端可以分别向服务器发送包含URL-a的第二http请求a1、包含URL-b的第二http请求b1、包含URL-c的第二http请求c1,服务器接收到第二http请求a1、第二http请求b1、第二http请求c1,并分别针对该第二http请求a1返回a1对应的第二页面内容A1、针对该第二http请求b1返回b1对应的第二页面内容B1、针对该第二http请求c1返回c1对应的第二页面内容C1。终端接收服务器返回的3个第二页面内容A1、B1和C1。
在一些可行的实施方式中,终端根据上述第一URL每确定出一个第二URL,就可以向服务器发送包含该第二URL的第二http请求,并接收该服务器针对该第二http请求返回的第二页面内容,将该第二URL对应的该第二页面内容临时储存起来,循环N次,得到N个第二URL对应的N个第二页面内容。终端也可以先根据上述第一URL确定出N个第二URL,再一起向服务器发送N个第二http请求,并接收该服务器针对每个第二http请求返回的第二页面内容,共得到N个第二页面内容。
S104,若N个第二页面内容中存在M个第二页面内容与第一页面内容匹配,终端则确定第一URL对应的文件为目标文件。
在一些可行的实施方式中,终端可以检测上述接收到的N个第二页面内容中各个第二页面内容是否与上述获取到的第一页面内容相同,若该N个第二页面内容中存在M个第二页面内容与上述第一页面内容相同,终端就可以确定上述第一URL对应的文件为目标文件(敏感文件)。若该N个第二页面内容全部与上述第一页面内容不相同,则终端可以确定上述第一URL对应的文件不是敏感文件。本申请实施例通过比较第一页面内容和第二页面内容是否匹配,可以提高文件检测的准确性,减少误报。这是因为如果第一URL对应的文件是敏感文件,那么第一URL就不能被用户访问(即不存在的页面链接),也就是第一URL对应的状态码应该是表示该第一URL不能被访问的状态码,如404状态码、403状态码。但由于某些网站或服务器定制了404页面,所以包含第一URL的第一http请求返回的状态码为200,那么,对第一URL进行多次变换(在第一URL的文件名头部、文件名尾部和/或文件后缀名尾部加一些字符)后,得到多个不存在的第二URL(指网站或服务器中不存在的页面链接)。又因为第一URL经过变换后得到的每个第二URL都是一个不存在的页面链接,且第一URL也是不存在的页面链接,所以第二URL对应的第二页面内容中必然存在至少一个第二页面内容与第一URL对应的第一页面内容相同。同理,若第一URL本身就是一个可以被任意用户访问的页面链接,那么第一URL对应的状态码为200,无论网站或服务器是否定制404页面,对第一URL进行变换后得到每个第二URL都是一个不存在的页面链接,因为每个第二URL都是一个不存在的页面链接,而第一URL是正常的页面链接,所以第二URL对应的第二页面内容全部与第一URL对应的第一页面内容不相同。其中,该M可以为大于或等于1的整数,该M可以小于或等于该N。
例如,N=3,M=1,终端可以检测这3个第二页面内容A1、B1和C1中各个第二页面内容是否与第一页面内容B1相同,此时,终端检测到1个第二页面内容B1与第一页面内容B1相同之后,终端可以不再检测这3个第二页面内容中未检测的第二页面内容C1是否与第一页面内容B1相同,就可以直接确定上述第一URL:http://xxx.pingan.com/conf/config.inc对应的文件为敏感文件。本申请实施例通过在N个第二页面内容中找到M个与第一页面内容相同的第二页面内容后就不再查找,可以提高文件检测的处理效率。
在一些可行的实施方式中,终端可以提取上述第一页面内容中的第一特征,该第一特征可以为第一页面内容中的关键字符,如第一页面内容中的标题或第一页面内容中最前面的50个字符。终端还可以针对上述N个第二页面内容中的每个第二页面内容提取一个第二特征,共得到N个第二特征。其中,第二特征可以为第二页面内容中的关键字符,且该第二特征和该第一特征为同一种特征,即该第一特征为该第一页面内容中的标题,该第二特征也就为该第二页面内容中的标题;该第一特征为该第一页面内容中最前面的50个字符,该第二特征为该第二页面内容中最前面的50个字符。终端可以检测该第一特征与该N个第二特征中的各个第二特征是否相同,若该N个第二特征中存在M个第二特征与该第一特征相同,则终端可以确定上述第一URL对应的文件为敏感文件。若该N个第二特征中不存在任何第二特征与该第一特征相同,则终端可以确定上述第一URL对应的文件不是敏感文件。该M可以为大于或等于1的整数,该M可以小于或等于该N。本申请实施例通过检测N个第二特征中是否存在与第一特征相同的特征来判断上述第一URL是否为敏感文件,计算量较小,处理效率高。
本申请实施例通过在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一页面内容包括第一URL,再根据该第一URL确定出N个第二URL,基于该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件,可以提高敏感文件检测的准确性,从而减少敏感文件的误报。
参见图2,是本申请实施例提供的文件检测方法的另一示意流程图,如图2所示,该文件检测方法可包括:
S201,终端在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对第一请求返回的第一页面内容。
本申请实施例中上述步骤S201的实现方式可参考图1所示实施例的步骤S101所提供的实现方式,在此不再赘述。
S202,终端在第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL。
在一些可行的实施方式中,终端可以在上述第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL。其中,在该第一URL的文件名部分中任一位置增加一个或者多个字符为该第一URL的文件名部分的一次字符变换。N个不同的位置可以分别为上述第一URL的文件名头部、文件名尾部、文件后缀名尾部。在一个位置可以增加一个或多个字符,每个位置中增加的字符可以不相同,也可以相同。字符的类型可以为数字、字母(包括大小写)、以及特殊字符中的一种或多种,本申请实施例不做限定。本申请实施例通过在第一URL文件名部分中的不同位置增加字符来得到不同的第二URL(实际上第二URL是不存在的URL),操作简单,处理方便,并且可以提高制造不存在URL的准确性,从而在后续判断中提高检测的准确性。
假设第一URL为http://xxx.pingan.com/conf/config.inc,且该第一URL对应的状态码为200,终端可以在该第一URL的文件名头部增加一个字符“x”得到一个第二URL为http://xxx.pingan.com/conf/xconfig.inc,再在该第一URL的文件名尾部增加一个字符“y”得到另一个第二URL为http://xxx.pingan.com/conf/configy.inc,还可以在该第一URL的文件后缀名尾部增加一个字符“1”,从而修改了第一URL的文件后缀名,使得该文件后缀名“.inc1”不存在,进而得到的又一个第二URL:http://xxx.pingan.com/conf/config.inc1也是不存在的URL。因此,终端在第一URL的文件后缀名尾部增加字符也是一种修改文件后缀名的方式。
S203,终端基于N个第二URL向服务器发送N个第二请求,并接收服务器针对N个第二请求返回的N个第二页面内容。
本申请实施例中上述步骤S203的实现方式可参考图1所示实施例的步骤S103所提供的实现方式,在此不再赘述。
S204,终端获取N个第二页面内容中每个第二页面内容与第一页面内容之间的相似度值,得到N个相似度值。
S205,若N个相似度值中存在M个相似度值大于相似度阈值,则终端确定第一URL对应的文件为目标文件。
在一些可行的实施方式中,终端可以利用页面相似度算法如局部敏感哈希算法simhash或最小哈希算法minhash等计算上述N个第二页面内容中每个第二页面内容与上述第一页面内容之间的相似度值,得到该N个相似度值。终端再判断该N个相似度值中每个相似度值与预设的相似度阈值之间的大小关系,若该N个相似度值中存在M个相似度值大于该预设的相似度阈值,则终端可以确定上述第一URL对应的文件为敏感文件。若该N个相似度值全部小于或等于该预设的相似度阈值,则终端可以确定上述第一URL对应的文件不是敏感文件。该M可以为大于或等于1的整数,该M可以小于或等于该N。本申请实施例通过计算第一页面内容和第二页面内容的相似度值,并比较该相似度值与预设的相似度阈值之间的大小关系,可以排除第一页面内容和第二页面内容之间的微小差异对文件检测结果的影响,从而进一步提高了文件检测的准确性。
例如,N=3,M=1,这3个第二页面内容可以分别A1、B1和C1表示,第一页面内容可以用F1表示,预设的相似度阈值为90%。终端利用simhash分别计算A1与F1之间的相似度值、B1与F1之间的相似度值、C1与F1之间的相似度值,得到3个相似度值分别为A1与F1之间的相似度值67%、B1与F1之间的相似度值80%、C1与F1之间的相似度值94%。终端检测这3个相似度值67%、80%、94%与预设的相似度阈值90%之间的大小,因为C1与F1之间的相似度值94%大于相似度阈值90%,所以终端确定上述第一URL对应的文件为敏感文件。
在一些可行的实施方式中,终端在确定第一URL对应的文件为敏感文件之后,终端可以输出报警提示信息,该报警提示信息包括该第一URL,该报警提示信息用于提示目标用户该第一URL对应的文件为敏感文件,以便于该目标用户对该第一URL对应的文件进行处理,以防止黑客的恶意访问以及敏感文件信息泄露导致的服务器受到攻击,进而导致使用该服务器的用户财产损失等问题。例如,终端在输出报警提示信息之后,程序员可以将该第一URL对应的文件删除或修改访问该第一URL的权限为最高级,即不允许任何人访问。
本申请实施例通过在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一页面内容包括第一URL,再对该第一URL的文件名部分进行N次不同的字符变换,得到N个第二URL,基于该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,获取该N个第二页面内容中每个第二页面内容与该第一页面内容之间的相似度值,得到N个相似度值,若该N个相似度值中存在M个相似度值大于相似度阈值,则确定该第一URL对应的文件为目标文件,不仅可以减少敏感文件误报的情况,还可以排除页面内容之间的微小差异对检测结果带来的影响,进一步提高了文件检测的准确性。
参见图3,是本申请实施例提供的文件检测装置的一示意性框图。本申请实施例的文件检测装置包括:
获取模块10,用于在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容。其中,该第一请求包括第一统一资源定位符URL。
第一确定模块20,用于根据上述获取模块10获取的该第一URL确定出N个第二URL。其中,该N个第二URL中任一第二URL为基于该第一URL变换后得到的URL,该N为大于或等于1的整数。
收发模块30,用于基于上述第一确定模块20确定的该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容。其中,一个第二请求包括一个第二URL,一个第二请求对应一个第二页面内容。
第二确定模块40,用于当该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配时,确定该第一URL对应的文件为目标文件。其中,该M为大于或等于1的整数,该M小于或等于该N。
在一些可行的实施方式中,上述第一确定模块20,用于对上述获取模块10获取的该第一URL的文件名部分进行N次不同的字符变换,得到N个第二URL。其中,一次字符变换得到一个第二URL。
在一些可行的实施方式中,上述第一确定模块20用于在上述获取模块10获取的该第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL;其中,在该第一URL的文件名部分中任一位置增加一个或者多个字符为该第一URL的文件名部分的一次字符变换。
在一些可行的实施方式中,上述第一确定模块20用于对上述获取模块10获取的该第一URL的文件后缀名进行N次不同的修改,得到N个第二URL。其中,一次修改得到一个第二URL。
在一些可行的实施方式中,上述第二确定模块40包括第一获取单元401、检测单元402以及第一确定单元403。该第一获取单元401,用于获取该第一页面内容中的第一特征,并获取该N个第二页面内容的N个第二特征;该检测单元402,用于检测该第一获取单元401获取到的该第一特征与该N个第二特征中的各个第二特征是否匹配;该第一确定单元403,用于当该N个第二特征中存在M个第二特征与该第一特征匹配时,确定该第一URL对应的文件为目标文件。其中,一个该第二页面内容对应一个该第二特征。
在一些可行的实施方式中,上述第二确定模块40包括第二获取单元404和第二确定单元405。该第二获取单元404,用于获取该N个第二页面内容中每个第二页面内容与该第一页面内容之间的相似度值,得到N个相似度值;该第二确定单元405,用于当该N个相似度值中存在M个相似度值大于相似度阈值时,则确定该第一URL对应的文件为目标文件。
具体实现中,上述文件检测装置可通过上述各个模块执行上述图1或图2所提供的实现方式中各个步骤所提供的实现方式,实现上述各实施例中所实现的功能,具体可参见上述图1或图2所示的方法实施例中各个步骤提供的相应描述,在此不再赘述。
在本申请实施例中,文件检测装置可通过在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一页面内容包括第一URL,再根据该第一URL确定出N个第二URL,基于该N个第二URL向该服务器发送N个第二请求,并接收该服务器针对该N个第二请求返回的N个第二页面内容,若该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配,则确定该第一URL对应的文件为目标文件,可以提高敏感文件检测的准确性,从而减少敏感文件的误报。
参见图4,是本申请实施例提供的终端的一示意性框图。如图4所示,本申请实施例中的终端可以包括:一个或多个处理器801;一个或多个输入设备802,一个或多个输出设备803和存储器804。上述处理器801、输入设备802、输出设备803和存储器804通过总线805连接。存储器802用于存储计算机程序,该计算机程序包括程序指令,处理器801用于执行存储器802存储的程序指令。其中,上述输入设备802用于接收服务器针对第一请求返回的状态码,上述处理器801被配置用于调用该程序指令执行:
在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对该第一请求返回的第一页面内容,该第一请求包括第一统一资源定位符URL;
根据该第一URL确定出N个第二URL,该N个第二URL中任一第二URL为基于该第一URL变换后得到的URL,该N为大于或等于1的整数。
上述输出设备803用于基于该N个第二URL向该服务器发送N个第二请求,上述输入设备802用于接收该服务器针对该N个第二请求返回的N个第二页面内容。其中一个第二请求包括一个第二URL,一个第二请求对应一个第二页面内容。
上述处理器801还被配置用于调用该程序指令执行当该N个第二页面内容中存在M个第二页面内容与该第一页面内容匹配时,确定该第一URL对应的文件为目标文件。其中,该M为大于或等于1的整数,该M小于或等于该N。
应当理解,在本申请实施例中,所称处理器801可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备802可以包括接收器、接收程序接口等,输出设备803可以包括发送器、发送程序接口等。
该存储器804可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器。例如,存储器804还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器801、输入设备802、输出设备803可执行本申请实施例提供的文件检测方法中所描述的实现方式,也可执行本申请实施例所描述的文件检测装置的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图1或图2所示的文件检测方法,具体细节请参照图1或图2所示实施例的描述,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例所述的文件检测装置或终端的内部存储单元,例如终端的硬盘或内存。该计算机可读存储介质也可以是该终端的外部存储设备,例如该终端上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该终端的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该终端所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请是参照本申请实施例的方法、装置(终端)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种文件检测方法,其特征在于,包括:
在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对所述第一请求返回的第一页面内容,所述第一请求包括第一统一资源定位符URL;
根据所述第一URL确定出N个第二URL,所述N个第二URL中任一第二URL为基于所述第一URL变换后得到的URL,所述N为大于或等于1的整数;
基于所述N个第二URL向所述服务器发送N个第二请求,并接收所述服务器针对所述N个第二请求返回的N个第二页面内容,其中一个第二请求包括一个第二URL,一个第二请求对应一个第二页面内容;
若所述N个第二页面内容中存在M个第二页面内容与所述第一页面内容匹配,则确定所述第一URL对应的文件为目标文件,所述M为大于或等于1的整数,所述M小于或等于所述N。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一URL确定出N个第二URL,包括:
对所述第一URL的文件名部分进行N次不同的字符变换,得到N个第二URL;
其中,一次字符变换得到一个第二URL。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一URL的文件名部分进行N次不同的字符变换,包括:
在所述第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL;
其中,在所述第一URL的文件名部分中任一位置增加一个或者多个字符为所述第一URL的文件名部分的一次字符变换。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述N个第二页面内容中存在M个第二页面内容与所述第一页面内容匹配,则确定所述第一URL对应的文件为目标文件,包括:
获取所述第一页面内容中的第一特征,并获取所述N个第二页面内容的N个第二特征,一个所述第二页面内容对应一个所述第二特征;
检测所述第一特征与所述N个第二特征中的各个第二特征是否匹配;
若所述N个第二特征中存在M个第二特征与所述第一特征匹配,则确定所述第一URL对应的文件为目标文件。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述N个第二页面内容中存在M个第二页面内容与所述第一页面内容匹配,则确定所述第一URL对应的文件为目标文件,包括:
获取所述N个第二页面内容中每个第二页面内容与所述第一页面内容之间的相似度值,得到N个相似度值;
若所述N个相似度值中存在M个相似度值大于相似度阈值,则确定所述第一URL对应的文件为目标文件。
6.一种文件检测装置,其特征在于,包括:
获取模块,用于在接收到服务器针对第一请求返回的状态码为目标状态码时,获取针对所述第一请求返回的第一页面内容,所述第一请求包括第一统一资源定位符URL;
第一确定模块,用于根据所述获取模块获取的所述第一URL确定出N个第二URL,所述N个第二URL中任一第二URL为基于所述第一URL变换后得到的URL,所述N为大于或等于1的整数;
收发模块,用于基于所述第一确定模块确定的所述N个第二URL向所述服务器发送N个第二请求,并接收所述服务器针对所述N个第二请求返回的N个第二页面内容,其中一个第二请求包括一个第二URL,一个第二请求对应一个第二页面内容;
第二确定模块,用于当所述N个第二页面内容中存在M个第二页面内容与所述第一页面内容匹配时,确定所述第一URL对应的文件为目标文件,所述M为大于或等于1的整数,所述M小于或等于所述N。
7.根据权利要求6所述的装置,其特征在于,所述第一确定模块用于:
对所述获取模块获取的所述第一URL的文件名部分进行N次不同的字符变换,得到N个第二URL;
其中,一次字符变换得到一个第二URL。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块用于:
在所述获取模块获取的所述第一URL的文件名部分中的任意N个不同位置进行N次字符增加,以得到N个第二URL;
其中,在所述第一URL的文件名部分中任一位置增加一个或者多个字符为所述第一URL的文件名部分的一次字符变换。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述第二确定模块包括:
第一获取单元,用于获取所述第一页面内容中的第一特征,并获取所述N个第二页面内容的N个第二特征,一个所述第二页面内容对应一个所述第二特征;
检测单元,用于检测所述第一获取单元获取到的所述第一特征与所述N个第二特征中的各个第二特征是否匹配;
第一确定单元,用于当所述N个第二特征中存在M个第二特征与所述第一特征匹配时,确定所述第一URL对应的文件为目标文件。
10.根据权利要求6-8任一项所述的装置,其特征在于,所述第二确定模块包括:
第二获取单元,用于获取所述N个第二页面内容中每个第二页面内容与所述第一页面内容之间的相似度值,得到N个相似度值;
第二确定单元,用于当所述N个相似度值中存在M个相似度值大于相似度阈值时,则确定所述第一URL对应的文件为目标文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810704707.9A CN108984673B (zh) | 2018-06-30 | 2018-06-30 | 一种文件检测方法及装置 |
PCT/CN2018/108711 WO2020000748A1 (zh) | 2018-06-30 | 2018-09-29 | 一种文件检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810704707.9A CN108984673B (zh) | 2018-06-30 | 2018-06-30 | 一种文件检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984673A CN108984673A (zh) | 2018-12-11 |
CN108984673B true CN108984673B (zh) | 2023-04-07 |
Family
ID=64539194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810704707.9A Active CN108984673B (zh) | 2018-06-30 | 2018-06-30 | 一种文件检测方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108984673B (zh) |
WO (1) | WO2020000748A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570491B1 (en) * | 1998-11-05 | 2003-05-27 | Linak A/S | Associating a hand control unit |
CN101741643A (zh) * | 2009-12-24 | 2010-06-16 | 北京世纪互联宽带数据中心有限公司 | 内容分发网络节点检测方法及系统 |
CN103731493A (zh) * | 2013-12-31 | 2014-04-16 | 优视科技有限公司 | 页面传输方法、装置及系统 |
CN107508903A (zh) * | 2017-09-07 | 2017-12-22 | 维沃移动通信有限公司 | 一种网页内容的访问方法及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242279B (zh) * | 2008-03-07 | 2010-06-16 | 北京邮电大学 | 用于web系统的自动化渗透性测试系统和方法 |
US20120124372A1 (en) * | 2010-10-13 | 2012-05-17 | Akamai Technologies, Inc. | Protecting Websites and Website Users By Obscuring URLs |
CN103685189A (zh) * | 2012-09-17 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 网站安全评估方法及系统 |
CN103685290A (zh) * | 2013-12-19 | 2014-03-26 | 南京理工大学连云港研究院 | 基于ghdb的漏洞扫描系统 |
-
2018
- 2018-06-30 CN CN201810704707.9A patent/CN108984673B/zh active Active
- 2018-09-29 WO PCT/CN2018/108711 patent/WO2020000748A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570491B1 (en) * | 1998-11-05 | 2003-05-27 | Linak A/S | Associating a hand control unit |
CN101741643A (zh) * | 2009-12-24 | 2010-06-16 | 北京世纪互联宽带数据中心有限公司 | 内容分发网络节点检测方法及系统 |
CN103731493A (zh) * | 2013-12-31 | 2014-04-16 | 优视科技有限公司 | 页面传输方法、装置及系统 |
CN107508903A (zh) * | 2017-09-07 | 2017-12-22 | 维沃移动通信有限公司 | 一种网页内容的访问方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020000748A1 (zh) | 2020-01-02 |
CN108984673A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101724307B1 (ko) | 악성코드를 검출하는 방법 및 시스템 | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
CN108650260B (zh) | 一种恶意网站的识别方法和装置 | |
CN107046544B (zh) | 一种识别对网站的非法访问请求的方法和装置 | |
US9147067B2 (en) | Security method and apparatus | |
CN110798488B (zh) | Web应用攻击检测方法 | |
WO2020000749A1 (zh) | 一种越权漏洞检测方法及装置 | |
CN106548075B (zh) | 漏洞检测方法和装置 | |
CN107733853B (zh) | 页面访问方法、装置、计算机和介质 | |
CN113518077A (zh) | 一种恶意网络爬虫检测方法、装置、设备及存储介质 | |
CN109145651B (zh) | 一种数据处理方法及装置 | |
CN112152993A (zh) | 网页劫持的检测方法、装置、计算机设备以及存储介质 | |
US10757118B2 (en) | Method of aiding the detection of infection of a terminal by malware | |
CN116304458B (zh) | 一种web页面实时通知更新方法、装置、设备及介质 | |
CN108984673B (zh) | 一种文件检测方法及装置 | |
CN117113430A (zh) | 网页违规图片检测方法和装置、电子设备、存储介质 | |
CN109150842B (zh) | 一种注入漏洞检测方法及装置 | |
CN116800518A (zh) | 一种网络防护策略的调整方法及装置 | |
CN109120603B (zh) | 一种注入漏洞检测方法及装置 | |
CN114760078B (zh) | 一种防止恶意篡改页面请求参数的方法和系统 | |
CN113538288A (zh) | 网络异常检测方法、装置及计算机可读存储介质 | |
CN113986760A (zh) | 微服务Mock测试方法、装置、计算机设备及存储介质 | |
KR101572239B1 (ko) | 사용자 브라우저 영역에서 악성 스크립트 탐지 및 실행 방지 장치 및 시스템 | |
CN108573155B (zh) | 检测漏洞影响范围的方法、装置、电子设备及存储介质 | |
CN110837397A (zh) | 浏览器插件的配置方法、装置和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |