CN110263550A - 一种基于页面相似度的扫描方法和装置 - Google Patents
一种基于页面相似度的扫描方法和装置 Download PDFInfo
- Publication number
- CN110263550A CN110263550A CN201910569710.9A CN201910569710A CN110263550A CN 110263550 A CN110263550 A CN 110263550A CN 201910569710 A CN201910569710 A CN 201910569710A CN 110263550 A CN110263550 A CN 110263550A
- Authority
- CN
- China
- Prior art keywords
- page
- code
- http request
- scan
- resemblance
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于页面相似度的扫描方法和装置,所述方法包括:确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。采用本发明提供的方法,旨在解决现有技术中页面相似度的判断准确性低,短期内重复扫描的次数多,扫描效率不高的问题。
Description
技术领域
本申请涉及金融科技(Finteh)技术领域,尤其涉及一种基于页面相似度的扫描方法和装置。
背景技术
Web应用已经广泛应用于公共领域和个人领域,因其互联、开放等特性,更容易遭受黑客的攻击。每年发现的Web漏洞数量一直居高不下,这也是导致Web应用频繁遭受攻击的重要原因。传统金融业正在逐步向金融科技(Finteh)转变,基于金融行业的安全性、实时性要求,也对漏洞检测技术提出的更高的要求。提前发现Web应用系统中隐藏的漏洞,提前给出详尽的漏洞描述和修补方案,才能防患于未然。
部分金融平台在业务功能上存在着漏洞,由于单个金融平台动辄上千甚至上万个页面,因此漏洞扫描往往时间紧、任务重。现有技术中,页面相似度算法主要用在扫描时判断页面是否稳定;根据页面相似度判断金融平台是否存在安全风险,以决定是否需要进行漏洞扫描。
现有技术中,在页面相似度的计算时,页面相似度的判断准确性较低,如何实现有效地获取页面相似度,从而提高漏洞扫描率,成为目前亟待解决的问题。
发明内容
本申请实施例提供了一种基于页面相似度的扫描方法,旨在解决现有技术中页面相似度的计算准确性低,扫描效率不高的问题。
第一方面、本发明实施例提供了一种基于页面相似度的扫描方法,包括:
确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;第一HTTP请求和第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;获取针对第一HTTP请求返回的第一页面及针对第二HTTP请求返回的第二页面;第一页面为已通过页面扫描的页面;从第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从第二页面对应的第二代码中删除标签类代码及标签属性类代码;
对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;若页面相似度低于第一阈值,则对第二页面进行页面扫描。
上述技术方案中,针对预设时间段内返回的第一页面和第二页面才进行页面相似度计算,而且在计算页面相似度之前,删除标签类代码及标签属性类代码,这是因为标签类代码和标签属性类代码在计算页面相似度时意义不大,甚至可能引起误判,因而删除标签类代码及标签属性类代码,一方面可以减少计算量另一方面使得页面相似度的计算进一步提高。
在一种可能的实现方式里,若确定第一HTTP请求与第二HTTP请求之间的时间间隔大于预设时间间隔,则对第二页面进行页面扫描。
若请求的时间间隔大于预设时间间隔,页面存在漏洞的可能性高,则不再做页面相似度的计算,直接进行对第二页面进行页面扫描,从而提高了页面扫描的效率,也减少了页面相似度计算次数。
在一种可能的实现方式里,对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算之前,还包括:通过正则匹配将第一代码中与预设字段符合的信息删除,及通过正则匹配将第二代码中与预设字段符合的代码删除;或通过正则匹配将第一代码中与预设字段符合的信息替换为设定代码,及通过正则匹配将第二代码中与预设字段符合的信息替换为设定代码。
在计算页面相似度时,有一些预设字段,如序列号、时间戳和流水号的内容,会影响页面相似度的计算,在计算之前,通过正则匹配将第一页面和第二页面中与预设字段符合的信息删除,或者替换为设定格式的字符,再计算页面相似度,这样可以减少这类信息造成页面相似度计算的不准确。
在一种可能的实现方式里,从第一页面对应的第一代码中删除标签类代码及标签属性类代码之前,还包括:
确定第一代码的包体长度与第二代码的包体长度的比值不大于第二阈值。在计算页面相似度之前,还可以选择设置是否根据包体长度来计算页面的相似度,如果两个页面的body长度比较值不大于第二阈值,则认为页面变化不大,需要进一步通过页面相似度来确认是否需要启动页面扫描,需要说明的是,通过包体长度来计算页面的相似度,只是一种初步估算的方法,实际结果并不一定很准确。而在比较值大于第二阈值时,则认为页面变化大,直接进行页面扫描即可。从而可以通过包体长度在对页面变化有一定判断的基础上,提升进入页面扫描的效率。
在一种可能的实现方式里,从第一页面对应的第一代码中删除标签类代码及标签属性类代码之前,还包括:确定第一代码的标题与第二代码的标题相似度大于第三阈值。即根据两个页面的title值,来判断页面是否有变化。一般的情况下,如果title值有变化,则页面变化的可能性大。如果title值相同,则再删除标签类代码及标签属性类代码等操作来计算页面相似度。从而可以通过标题来对页面变化做一个初判的基础上,提升进入页面扫描的效率。在一种可能的实现方式里,从第一页面对应的第一代码中删除标签类代码及标签属性类代码之前,还包括:确定第一页面的HTTP响应码与第二页面的HTTP响应码相同;和/或确定,来判断第二页面未出现响应异常。即判断两个页面的响应码是否相同,如果不同或者响应码为出现异常,可判断页面变化的可能性大,则不用再进行相似度计算,可以直接扫描。
第二方面、本发明实施例还提供了一种页面扫描的装置,该装置包括:
确定单元:确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;第一HTTP请求和第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;获取针对所述第一HTTP请求返回的第一页面及针对第二HTTP请求返回的第二页面;第一页面为已通过页面扫描的页面;
检测单元:从第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从第二页面对应的第二代码中删除标签类代码及标签属性类代码;对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
在一种可能的实现方式里,确定单元还用于:若确定第一HTTP请求与第二HTTP请求之间的时间间隔大于预设时间间隔,则对第二页面进行页面扫描。
在一种可能的实现方式里,确定单元还用于:通过正则匹配将第一代码中与预设字段符合的信息删除,及通过正则匹配将第二代码中与预设字段符合的代码删除;或通过正则匹配将第一代码中与预设字段符合的信息替换为设定代码,及通过正则匹配将第二代码中与预设字段符合的信息替换为设定代码。
在一种可能的实现方式里,确定单元还用于:确定第一代码的包体长度与第二代码的包体长度的比较值大于第二阈值。
在一种可能的实现方式里,确定单元还用于:确定第一代码的标题与第二代码的标题相似度大于第三阈值。
在一种可能的实现方式里,确定单元还用于:确定第一页面的HTTP响应码与第二页面的HTTP响应码相同;以判断第二页面是否出现响应异常。
第三方面、本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面或第一方面中任一实施例的方法。
第四方面、本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行第一方面或第一方面中任一实施例的方法。
附图说明
图1为本发明实施例一种可能的系统架构示意图;
图2为本申请实施例提供的一种可能的实现方式流程示意图;
图3为本申请实施例提供的第二种可能的实现方式流程示意图;
图4为本申请实施例提供的第三种可能的实现方式流程示意图;
图5为本申请实施例提供的一种具体的实现方式流程结构示意图;
图6为本发明实施例一种页面扫描装置示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
Web漏洞导致黑客可以利用网站漏洞,得到Web访问服务器的控制权限,从而篡改网页内容,甚至窃取用户数据,更为严重的则是在页面中植入恶意代码,使得网站访问者受到侵害。目前常见的Web漏洞有结构化查询语言(SQL,Structure Query Language)注入、跨站脚本(XSS)、跨站请求伪造(CSRF,Cross-site request forgery)等。通常对Web漏洞的处理时通过扫描的方式来检测。但一个访问服务器就可能对应上千甚至上万个页面,因而若对每个页面都进行扫描或扫描太频繁,都可能对扫描器造成很大的负担。
基于上述描述,图1为本申请提供的一种可能的系统架构示意图。如图1所示,包括:扫描服务器101、金融平台102。扫描服务器101,用于获取金融平台102返回的HTTPResponse即返回的页面,并基于返回的页面进行页面相似度计算。页面相似度计算主要用于判断页面是否稳定;即,根据页面相似度判断金融平台是否存在安全风险,以决定是否需要进行漏洞扫描。
如图2所示,为提升页面相似度计算的准确性,提供一种可能的实现方式,包括以下步骤:
S21、确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;所述第一HTTP请求和所述第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;
S22、获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;所述第一页面为已通过页面扫描的页面;
S23、从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;
S24、对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;
S25、若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
上述实施过程中,针对需要扫描的页面,步骤S21中通过扫描服务器101发送的第一HTTP请求和第二HTTP请求来获取返回的页面,也可以是扫描服务器103构造的第一HTTP请求和第二HTTP请求。其中,第一HTTP请求对应的第一页面为已通过页面扫描的页面,即在第一HTTP请求时,金融平台102返回的页面还未被攻击。这样在后续进行页面相似度计算时,才可以基于正常返回的页面来进行判断。
针对步骤S23中的标签类代码及标签属性类代码,以HTML为例,HTML标签是HTML语言中最基本的单位。由尖括号包围的关键词,比如通常是成对出现的,比如<div>和</div>,这个div叫做标签类代码。形如<body text="blue">中text叫做标签body的属性,"blue"为属性值。在形如<title text="blue">html简单实例</title>这样的格式的标签,在移除标签和标签的属性后,剩下的内空仅为“html简单实例”。
在步骤S24中,在进行页面相似度计算时,有多种可能的计算方式,本实施例中仅罗列一种可能的算法。假设两段文本分别为text1与text2,他们相同的部分长度总共为M,这两段文本长度之和为T,那么这两段文本的相似度定义为2.0*M/T,值在0-1之间,不同流程和算法中会有少许变化。如下图所示,两串文本aebaghbgg和bcdgegjh,相似长度M为3,总长度和为17,相似度为2*3/17=0.35。
a e b a g h b g g
b c d g e g j h
在上述实施过程中,通过获取针对同一URL返回的不同页面进行相似度计算,在计算页面相似度之前,先将页面对应的代码中的标签类代码和标签属性类代码删除;因为这类代码在计算页面相似度时作用不大,甚至可能引起误判,因而一方面可以减少计算量另一方面使得页面相似度的计算进一步提高。
基于上述实施过程,若确定所述第一HTTP请求与所述第二HTTP请求之间的时间间隔大于所述预设时间间隔,则对所述第二页面进行页面扫描。预设时间间隔可以根据具体情况来进行设定。通常来说,页面扫描需要耗费较多资源,不建议频繁扫描;因而,可通过设定时间段,将时间段内的响应页面通过页面相似度来确定是否需要出发页面扫描;将超过一定时间的页面直接进行页面扫描,从而提升了页面扫描触发的精度。
通过对页面代码进行分析,发现在不同的访问时刻对同一URL访问的返回页面中有些内容是会变化的,这种变化并非因为受到攻击才出现的,比如序列号、时间戳和流水号这类,就是会实时变化的。如果在进行页面相似度计算时,把这类内容也进行相似度计算,势必会降低页面相似度,从而触发页面扫描。因而,为了提升对页面相似度的准确性,还提供了第二种可能的实现方式,如图3所示:
S31、确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;所述第一HTTP请求和所述第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;
S32、获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;所述第一页面为已通过页面扫描的页面;
S33、通过正则匹配将所述第一代码中与预设字段符合的信息删除,及通过正则匹配将所述第二代码中与所述预设字段符合的代码删除;或通过正则匹配将所述第一代码中与所述预设字段符合的信息替换为设定代码,及通过正则匹配将所述第二代码中与所述预设字段符合的信息替换为所述设定代码;
S34、对经S33处理后的第一代码和处理后的第二代码进行页面相似度计算;
S35、若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
在该实施方式中,将序列号、时间戳和流水号等这类预设字段进行删除或者替换为相同代码,从而剔除这类影响。正则匹配的方式来查找预设字段是一种具体的实现方式,实际上也可以采用其他查找方式,如直接比对。
为了进一步提升页面相似度的准确性,提供第三种可能的实现方式,如图4所示,包括:
S41、确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;所述第一HTTP请求和所述第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;
S42、获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;所述第一页面为已通过页面扫描的页面;
S43、通过正则匹配将所述第一代码中与预设字段符合的信息删除,及通过正则匹配将所述第二代码中与所述预设字段符合的代码删除;或通过正则匹配将所述第一代码中与所述预设字段符合的信息替换为设定代码,及通过正则匹配将所述第二代码中与所述预设字段符合的信息替换为所述设定代码;
S44、从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;
S45、对经S43和S44处理后的第一代码和处理后的第二代码进行页面相似度计算;
S46、若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
基于上述的各种可能的实现方式,由于计算页面相似度耗费的资源还是相对就较多,而且也占用一定的时间,为了避免漏洞攻击造成的影响,可以通过一些更简洁的判断方式来触发页面扫描。如下,从几个方面可以在确保一定程度上判断可能存在漏洞攻击,从而快速进入页面扫描阶段。
方式一:确定所述第一代码的包体长度与所述第二代码的包体长度的比较值;其中比较值越大代表包体长度约相似。换言之,若发生了漏洞攻击,攻击后的页面对应的包体长度可能发生较大的变化。因而,若在包体长度的比较值不大于第二阈值时,说明页面变化较大,可直接进入页面扫描的过程;否则,可进一步通过页面相似度进行更准确的确认。比较值可以是比值或差值等。
方式二、确定所述第一代码的标题与所述第二代码的标题相似度;
方式三、确定所述第一页面的HTTP响应码与所述第二页面的HTTP响应码是否相同;
方式四、确定所述第二页面未出现响应异常。
以一个例子说明:
对于一个可能存在安全漏洞的页面,响应包的头部如下:
HTTP/1.1 200 OK
Date:Fri,12Apr 2019 07:39:14 GMT
Content-Type:text/html
Transfer-Encoding:chunked
Connection:keep-alive
Server:WAF3.0
X-Powered-By:PHP/5.4.16
一些常见的状态码为:
200-服务器成功返回网页;
404-请求的网页不存在;
503-服务不可用;
通过HTTP响应码,可以看出HTTP是否正确返回,如果两个HTTP请求的响应码都为200,即两个请求均正确返回,可以进一步通过包体长度或标题来进行初步判断。如果HTTP响应码为错误类型的响应码,则页面存在漏洞的可能性大,即可直接进行扫描。
需要说明的是在实际的页面相似度的比对中,根据站点特色设置是否通过包体长度、页面标题、HTTP响应码进行初步比对,来判断是否直接进行页面扫描,以上几种方式为可选设置,并且没有先后之分。
基于上述各种可能的实现方式,此处提供一种具体的实现方式,如图5所示,包括:
S50、确定HTTP请求是否是启动页面扫描后针对该URL的首次访问;若是首次访问,则进入步骤S59;否则进入步骤S51;
S51、确定上一次页面扫描时间与此次HTTP请求之间的时间间隔是否大于预设时间间隔,若不大于,则进入S52;若大于,则进入S59;
S52、确定此次HTTP请求的HTTP响应码是否出现异常;若出现异常,则进入S59;否则,进入S53;
S53、确定此次HTTP请求的HTTP响应码与上一次页面扫描对应的第一页面的HTTP响应码是否一致;若不一致,则进入S59;否则,进入S54;
S54、确定第一页面与此次HTTP请求返回的第二页面的包体长度比较;若大于第二阈值,则进入步骤S55,否则,进入S59;
S55、确定第一页面的标题与第二页面的标题相似度;若大于第三阈值,则进入步骤S56,否则,进入S59;
S56、从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;
S57、通过正则匹配将所述第一代码中与预设字段符合的信息删除,及通过正则匹配将所述第二代码中与所述预设字段符合的代码删除;或通过正则匹配将所述第一代码中与所述预设字段符合的信息替换为设定代码,及通过正则匹配将所述第二代码中与所述预设字段符合的信息替换为所述设定代码;
S58、进行页面相似度计算,若低于第一阈值,则进入步骤S59;
S59、进行页面扫描并记录页面扫描时间。
基于同一发明构思,本发明实施例中还提供了一种页面扫描装置,由于上述装置解决问题的原理与页面扫描方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,为本发明实施例一提供的一种页面扫描装置的结构示意图,包括:确定单元61和检测单元62,其中:
确定单元:确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;所述第一HTTP请求和所述第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;所述第一页面为已通过页面扫描的页面;
检测单元:从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
在一种可能的实现方式里,所述确定单元还用于:
若确定所述第一HTTP请求与所述第二HTTP请求之间的时间间隔大于所述预设时间间隔,则对所述第二页面进行页面扫描。
在一种可能的实现方式里,所述确定单元还用于:
通过正则匹配将所述第一代码中与预设字段符合的信息删除,及通过正则匹配将所述第二代码中与所述预设字段符合的代码删除;或通过正则匹配将所述第一代码中与所述预设字段符合的信息替换为设定代码,及通过正则匹配将所述第二代码中与所述预设字段符合的信息替换为所述设定代码。
在一种可能的实现方式里,所述确定单元还用于:
确定所述第一代码的包体长度与所述第二代码的包体长度的比值大于第二阈值。
在一种可能的实现方式里,所述确定单元还用于:
确定所述第一代码的标题与所述第二代码的标题相似度大于第三阈值。
在一种可能的实现方式里,所述确定单元还用于:
确定所述第一页面的HTTP响应码与所述第二页面的HTTP响应码相同;和/或确定所述第二页面未出现响应异常。
本申请的上述实施例所提供的页面扫描的装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要页面扫描的装置具有上述功能,都应该在本申请的保护范围之内。
基于同一发明构思,本发明实施例还提供了一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述实施例中页面扫描的方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述实施例中的页面扫描的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种基于页面相似度的扫描方法,其特征在于,所述方法包括:
确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;所述第一HTTP请求和所述第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;
获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;所述第一页面为已通过页面扫描的页面;
从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;
对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;
若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
2.如权利要求1所述的扫描方法,其特征在于,所述方法还包括:若确定所述第一HTTP请求与所述第二HTTP请求之间的时间间隔大于所述预设时间间隔,则对所述第二页面进行页面扫描。
3.如权利要求1所述的扫描方法,其特征在于,对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算之前,还包括:
通过正则匹配将所述第一代码中与预设字段符合的信息删除,及通过正则匹配将所述第二代码中与所述预设字段符合的信息删除;或
通过正则匹配将所述第一代码中与所述预设字段符合的信息替换为设定代码,及通过正则匹配将所述第二代码中与所述预设字段符合的信息替换为所述设定代码。
4.如权利要求1所述的扫描方法,其特征在于,从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码之前,还包括:
确定所述第一代码的包体长度与所述第二代码的包体长度的比较值大于第二阈值;其中比较值越大代表包体长度越相似。
5.如权利要求1所述的扫描方法,其特征在于,从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码之前,还包括:
确定所述第一代码的标题与所述第二代码的标题相似度大于第三阈值。
6.如权利要求1所述的扫描方法,其特征在于,从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码之前,还包括:
确定所述第一页面的HTTP响应码与所述第二页面的HTTP响应码相同;和/或
确定所述第二页面未出现响应异常。
7.一种基于页面相似度扫描装置,其特征在于,所述装置包括:
确定单元:确定第一HTTP请求与第二HTTP请求之间的时间间隔不大于预设时间间隔;所述第一HTTP请求和所述第二HTTP请求是在不同时刻发起的针对同一URL的访问请求;获取针对所述第一HTTP请求返回的第一页面及针对所述第二HTTP请求返回的第二页面;所述第一页面为已通过页面扫描的页面;
检测单元:从所述第一页面对应的第一代码中删除标签类代码及标签属性类代码,及从所述第二页面对应的第二代码中删除标签类代码及标签属性类代码;对删除操作过滤后的第一代码和删除操作过滤后的第二代码进行页面相似度计算;若页面相似度低于第一阈值,则对所述第二页面进行页面扫描。
8.如权利要求7所述的装置,其特征在于,所述确定单元还用于:
若确定所述第一HTTP请求与所述第二HTTP请求之间的时间间隔大于所述预设时间间隔,则对所述第二页面进行页面扫描。
9.如权利要求7所述的装置,其特征在于,所述确定单元还用于:
通过正则匹配将所述第一代码中与预设字段符合的信息删除,及通过正则匹配将所述第二代码中与所述预设字段符合的代码删除;或
通过正则匹配将所述第一代码中与所述预设字段符合的信息替换为设定代码,及通过正则匹配将所述第二代码中与所述预设字段符合的信息替换为所述设定代码。
10.如权利要求7所述的装置,其特征在于,所述确定单元还用于:
确定所述第一代码的包体长度与所述第二代码的包体长度的比较值大于第二阈值;其中比较值越大代表包体长度约相似。
11.如权利要求7所述的装置,其特征在于,所述确定单元还用于:
确定所述第一代码的标题与所述第二代码的标题相似度大于第三阈值。
12.如权利要求7所述的装置,其特征在于,所述确定单元还用于:
确定所述第一页面的HTTP响应码与所述第二页面的HTTP响应码相同;和/或
确定所述第二页面未出现响应异常。
13.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至6任一项所述的方法。
14.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910569710.9A CN110263550A (zh) | 2019-06-27 | 2019-06-27 | 一种基于页面相似度的扫描方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910569710.9A CN110263550A (zh) | 2019-06-27 | 2019-06-27 | 一种基于页面相似度的扫描方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110263550A true CN110263550A (zh) | 2019-09-20 |
Family
ID=67922534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910569710.9A Pending CN110263550A (zh) | 2019-06-27 | 2019-06-27 | 一种基于页面相似度的扫描方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263550A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967043A (zh) * | 2020-07-29 | 2020-11-20 | 深圳开源互联网安全技术有限公司 | 确定数据相似度的方法、装置、电子设备及存储介质 |
-
2019
- 2019-06-27 CN CN201910569710.9A patent/CN110263550A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967043A (zh) * | 2020-07-29 | 2020-11-20 | 深圳开源互联网安全技术有限公司 | 确定数据相似度的方法、装置、电子设备及存储介质 |
CN111967043B (zh) * | 2020-07-29 | 2023-08-11 | 深圳开源互联网安全技术有限公司 | 确定数据相似度的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177005B (zh) | 业务应用的测试方法、装置、服务器和存储介质 | |
CN107302547A (zh) | 一种web业务异常检测方法及装置 | |
Gupta et al. | PHP-sensor: a prototype method to discover workflow violation and XSS vulnerabilities in PHP web applications | |
CN108924118B (zh) | 一种撞库行为检测方法及系统 | |
CN105095726B (zh) | 生成验证码的方法及装置 | |
CN107392618A (zh) | 植入智能合约的方法和设备 | |
CN107665432A (zh) | 在用户与各种银行服务的交互中识别可疑用户行为的系统和方法 | |
US10587650B2 (en) | Communications security | |
CN110602029A (zh) | 一种用于识别网络攻击的方法和系统 | |
CN110602021A (zh) | 一种基于http请求行为与业务流程相结合的安全风险值评估方法 | |
CN107294953A (zh) | 攻击操作检测方法及装置 | |
CN107169499A (zh) | 一种风险识别方法及装置 | |
US20210124819A1 (en) | Payment password reset method and apparatus, and electronic device | |
CN108090351A (zh) | 用于处理请求消息的方法和装置 | |
CN106789837B (zh) | 网络异常行为检测方法及检测装置 | |
CN114154990B (zh) | 一种基于在线支付的大数据防攻击方法及存储介质 | |
CN110222513B (zh) | 一种线上活动的异常监测方法、装置及存储介质 | |
CN104980421A (zh) | 一种批量请求处理方法及系统 | |
EP3550789A1 (en) | Method for protecting web applications by automatically generating application models | |
CN110263550A (zh) | 一种基于页面相似度的扫描方法和装置 | |
CN112347457A (zh) | 异常账户检测方法、装置、计算机设备和存储介质 | |
CN110209577A (zh) | 一种测试方法及装置 | |
CN108399266A (zh) | 数据抽取方法、装置、电子设备及计算机可读存储介质 | |
Wang et al. | A model-based behavioral fuzzing approach for network service | |
CN107368427A (zh) | 一种基于自适应随机测试的Sql注入漏洞自动检测平台及方法 |
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 |