CN110399723A - 漏洞检测方法和装置、存储介质及电子装置 - Google Patents
漏洞检测方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN110399723A CN110399723A CN201810654940.0A CN201810654940A CN110399723A CN 110399723 A CN110399723 A CN 110399723A CN 201810654940 A CN201810654940 A CN 201810654940A CN 110399723 A CN110399723 A CN 110399723A
- Authority
- CN
- China
- Prior art keywords
- page
- hole detection
- field
- parameter
- mentioned
- 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.)
- Granted
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
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)
- Storage Device Security (AREA)
Abstract
本发明公开了一种漏洞检测方法和装置、存储介质及电子装置。其中,该方法包括:获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。通过本发明,解决了相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种漏洞检测方法和装置、存储介质及电子装置。
背景技术
在传统的漏洞自动化扫描的过程中,目前常用的方式是对待检测的页面进行单独扫描。然而,由于单独扫描只能获取对单个页面的扫描结果,而无法获知扫描结果之间可能存在的相关性,如在前一个页面的扫描结果A指示提交不正确的情况下,无法获知上述扫描结果A会对当前页面的扫描结果B所产生的影响。
也就是说,在相关技术提供的漏洞检测方法中,由于无法获知扫描结果之间的相关性,导致扫描过程将出现遗漏扫描的情况,从而造成漏洞检测不准确的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种漏洞检测方法和装置、存储介质及电子装置,以至少解决相关技术中传统的安全自动化扫描出现遗漏的技术问题。
根据本发明实施例的一个方面,提供了一种漏洞检测方法,包括:获取流程信息,其中,所述流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作,其中,所述第一参数信息用于指示与所述第一漏洞检测操作相关联的第一字段的类型;对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作。
根据本发明实施例的另一方面,还提供了一种漏洞检测装置,包括:第一获取单元,用于获取流程信息,其中,所述流程信息用于指示按先后顺序被访问的第一页面和第二页面;第一检测单元,用于根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作,其中,所述第一参数信息用于指示与所述第一漏洞检测操作相关联的第一字段的类型;第二检测单元,用于对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的方法。
在本发明实施例中,采用获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。即,对按先后顺序被访问的第一页面和第二页面进行漏洞检测操作,而不是相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种漏洞检测方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的漏洞检测方法的流程示意图;
图3是根据本发明实施例的一种可选的漏洞检测方法的示意图;
图4是根据本发明实施例的一种可选的漏洞检测的结构示意图;
图5是根据本发明又一种可选实施例的漏洞检测装置结构框图(一);
图6是根据本发明又一种可选实施例的漏洞检测装置结构框图(二);
图7是根据本发明又一种可选实施例的漏洞检测装置结构框图(三);
图8是根据本发明又一种可选实施例的漏洞检测装置结构框图(四);
图9是根据本发明又一种可选实施例的漏洞检测装置结构框图(五);
图10是根据本发明又一种可选实施例的漏洞检测装置结构框图(六);
图11是根据本发明又一种可选实施例的漏洞检测装置结构框图(七);
图12是根据本发明又一种可选实施例的漏洞检测装置结构框图(八);
图13是根据本发明又一种可选实施例的漏洞检测装置结构框图(九);
图14是根据本发明又一种可选实施例的漏洞检测装置结构框图(十);
图15是根据本发明又一种可选实施例的漏洞检测装置结构框图(十一)
图16是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种漏洞检测方法。可选地,上述漏洞检测方法可以但不限于应用于如图1所示的应用环境中。如图1所示,用户终端104发送通信流量请求(例如,请求流程信息、参数类型)至服务器102,该服务器102与数据库连接并进行漏洞检测,并将漏洞检测结果返回至用户终端104,用户终端104在界面上显示漏洞检测结果,例如,用户在用户终端104上输入“为什么业务某部分功能缺失”,并点击“检测”按钮进行检测,经服务器进行漏洞检测后,在界面上显示部分功能缺失的原因是“出现漏洞”等。
可选地,在本实施例中,上述客户端可以包括但不限于以下至少之一:手机、平板电脑等。上述代理端可以包括但不限于通过无线网络连接的中间转发设备,其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,如图2所示,上述漏洞检测方法可以包括:
S202,获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;
S204,根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;
S206,对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。
可选地,上述漏洞检测方法可以但不限于业务上线前的漏洞自动化扫描的过程中,例如,应用程序(Application,简称为APP)中新增业务上线前的漏洞检测、网页新增功能块的漏洞检测等。上述仅是示例,本实施例中对此不做任何限定。
需要说明的是,上述APP可以包括多种类型,例如,社交APP、运动APP、学习APP等。
在上述业务上线前的漏洞自动化扫描的过程中,获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。即,对按先后顺序被访问的第一页面和第二页面进行漏洞检测操作,而不是相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
可选地,上述流程信息可以在业务上线前对业务功能的完整性和可用性进行测试时,记录按先后顺序被访问的第一页面和第二页面,将记录的第一页面和第二页面的顺序相关性用于后续的漏洞检测。
需要说明的是,在本实施例中,上述流程信息包括但并不限于:页面被访问的先后顺序,如第一页面被访问的先后顺序、第二页面被访问的先后顺序;此外,还可以包括第三页面、第四页面等页面的被访问的先后顺序。也就是说,在本实施例中,上述流程信息中涉及到的页面数量并不做任何限定,可以根据业务的属性进行自定义。
可选地,在本实施例中,上述漏洞检测方法可以包括但并不限于:将对第一页面进行第一漏洞检测操作和对第二页面进行第二漏洞检测操作作为一个完整的漏洞检测过程;或者,分别对第一页面和第二页面进行漏洞检测。
在上述漏洞检测方法为将对第一页面进行第一漏洞检测操作和对第二页面进行第二漏洞检测操作作为一个完整的漏洞检测过程时包括:向上述第一页面发送第三请求参数;在向上述第一页面发送第三请求参数之后,发送用于请求访问上述第二页面的访问请求;根据响应于上述访问请求得到的访问结果确定是否出现第一目标漏洞。
在上述漏洞检测方法为分别对第一页面和第二页面进行漏洞检测时,在向上述第一页面发送第三请求参数之后,根据上述第一页面响应于上述第三请求参数得到的第一结果,确定是否出现第二目标漏洞;在向上述第二页面发送第四请求参数之后,根据上述第二页面响应于上述第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
下面结合具体示例,对本实施例进行举例说明。
在本示例中,以图1为例,业务上线前首先会先对业务功能的完整性和可用性进行测试,在这个测试的过程中让客户端连上代理端,代理端记录流量请求过程,请求流程再转发给漏洞检测模块按照同样的流程进行漏洞检测。需要说明的是,在本示例中,第一页面以submit.php页面为例进行说明,第二页面以show.php页面为例进行说明;第一参数信息以time参数为例。
在本示例中,具体的实现步骤包括:
步骤S11,客户端装上用于与代理端通信和转发流量到代理端的客户端软件,并开启这个软件;
步骤S12,在客户端上对业务功能进行测试,每一个功能测试的流程结束后都在客户端软件上标注已结束一个流程,假设这里对应的页面请求流程是,先对submit.php页面发送post请求参数:content=aaa&time=1523896271,紧接着访问show.php?id=1页面可以看到对应的content数据。show.php页面展示数据有时间限制,在submit.php提交的time参数上加上300秒,超过这个时间show.php页面则提示超时;
步骤S13,在客户端软件上标注结束流程后,由于请求里带有参数,需要在客户端软件上对参数类型进行标注,以步骤S12中的流程为例:对submit.php页面post请求的time字段标注为时间戳,content标注为测试字段,show.php的id字段标注为递增字段。
步骤S14,参数类型标注结束后该流程发送给漏洞类型的漏洞检测模块进行检测,漏洞检测模块根据上面同样的请求流程和标注的参数类型来进行漏洞检测,以跨站脚本攻击(Cross Site Scripting,简称为XSS)漏洞的检测为例:漏洞检测模块首先对submit.php页面发送post请求参数,由于time字段标注为时间戳,漏洞检测模块会把这个字段替换为当前时间的时间戳,同时把攻击向量插入到content字段,整体post的参数为content=[攻击向量]&time=[当前时间戳]。紧接着检测模块访问show.php?id=2页面(id字段被标注为递增字段,每一轮新的测试都在上一轮测试的id字段上递增)。通过show.php页面的表现来判断是否存在XSS漏洞。
在传统的安全自动化扫描里,由于扫描器不知道submit.php页面与show.php页面之间存在相关性,也不清楚参数类型的信息,甚至有时候根本没有抓取到指向show.php这个页面的链接,就可能出现以下情况:
情况1:扫描器只是单独扫描了submit.php页面或者只是单独扫描了show.php页面;
情况2:扫描器在访问show.php页面前,先访问了类似clear.php页面,清除了在submit.php页面提交保存的数据,导致在扫描show.php页面时没有数据;
情况3:对submit.php页面post参数的time字段提交不正确,在访问show.php页面时已经过期或者提示错误信息;
情况4:先扫描了show.php页面再扫描submit.php页面。
以上出现的任意一种情况都会导致传统的安全自动化扫描出现遗漏的情况,无法满足在业务上线前对业务进行安全扫描的需要,而为了有效解决该技术问题,本实施例提出获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。即,对按先后顺序被访问的第一页面和第二页面进行漏洞检测操作,而不是相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
在一个可选实施例中,在上述获取流程信息之前,上述方法还包括以下步骤:
步骤S21,在上述第一页面上接收操作指令;
步骤S22,响应于上述操作指令,从上述第一页面跳转至上述第二页面;
步骤S23,生成上述流程信息。
可选地,在本实施例中,上述操作指令包括但并不限于:输入关键命令(例如,网页超链接、关键字),点击指定图框、点击关键字等。
可选地,生成上述流程信息包括但并不限于:记录分别访问上述第一页面和第二页面的先后顺序,将该顺序信息定义为上述流程信息。
例如,如图3所示,将访问的第一个页面(例如,论文的上传入口页面)标记为第一页面,将接下来访问的第二个页面(通过入口页面访问的论文的具体内容展示页面)标记为第二页面,将访问的页面的先后顺序记录为上述流程信息。
通过上述步骤S21至步骤S23,可以生成用于后续漏检检测的流程信息,避免了现有技术中通过爬虫的方式随机进行漏洞检测导致的漏检的问题,进一步提高了漏洞检测的准确性和及时性。
可选地,在上述根据第一参数信息对上述流程信息指示的在上述第二页面之前被访问的上述第一页面进行第一漏洞检测操作之前,还包括以下步骤:
步骤S31,获取访问上述第一页面时向上述第一页面发送的第一请求参数,其中,上述第一请求参数用于指示上述第一字段;
步骤S32,获取上述第一请求参数所指示的上述第一字段的类型;
步骤S33,根据获取的上述第一字段的类型生成上述第一参数信息。
可选地,上述第一请求参数所指示的第一字段的类型可以根据待检测漏洞的类型进行预定义,例如,上述第一字段的类型包括但并不限于:时间字段、测试字段。
需要说明的是,上述时间字段可以限定页面的显示时间,例如,设置页面显示时间为100秒、300秒等;上述测试字段中可以插入攻击向量进行漏洞检测。
通过上述步骤S31至步骤S33生成第一参数信息,进而可以根据该第一参数信息对流程信息指示的第二页面之前被访问的第一页面进行漏洞检测,提高了漏洞检测的准确性。
在一个可选地实施方式中,上述根据第一参数信息对上述流程信息指示的在上述第二页面之前被访问的上述第一页面进行第一漏洞检测操作包括以下步骤:
步骤S41,设置上述第一参数信息中类型为第一目标类型的第一目标字段的取值,其中,上述第一目标字段中的部分字段的取值与上述第一漏洞检测操作相关联;
步骤S42,向上述第一页面发送第三请求参数,其中,上述第三请求参数包括上述第一目标字段和上述第一目标字段的取值。
可选地,在本实施例中,设置上述第一参数信息中类型为第一目标类型的第一目标字段的取值包括但并不限于:将上述第一参数信息中类型为第一目标类型的全部或者部分字段替换为目标字段。
例如,将以XSS漏洞的检测为例:漏洞检测模块首先对submit.php页面发送post请求参数,由于time字段标注为时间戳,漏洞检测模块会把这个字段替换为当前时间的时间戳,同时把攻击向量插入到content字段,整体post的参数为content=[攻击向量]&time=[当前时间戳]。
通过上述步骤S41至步骤S42,向第一页面发送第三请求参数,其中,第三请求参数包括第一目标字段和第一目标字段的取值,即,通过对请求发送过程执行漏洞检测,为实现整个漏洞检测奠定了检测基础。
可选地,上述设置上述第一参数信息中类型为第一目标类型的第一目标字段的取值包括以下步骤:
步骤S51,将上述第一参数信息中类型为第一类型的字段的取值设置为当前时间;
步骤S52,将上述第一参数信息中类型为第二类型的字段的取值设置为与上述第一漏洞检测操作相关联的目标取值。
通过上述步骤S51至步骤S52,设置上述第一参数信息中类型为第一目标类型的第一目标字段的取值,进一步提高了漏洞检测的准确性,并节省了漏洞检测的时间。
在一个可选地实施方式中,对上述流程信息指示的在上述第一页面之后被访问的上述第二页面进行第二漏洞检测操作包括以下步骤:
步骤S61,在向上述第一页面发送第三请求参数之后,发送用于请求访问上述第二页面的访问请求;
步骤S62,根据响应于上述访问请求得到的访问结果确定是否出现第一目标漏洞。
可选地,在本实施例中,上述步骤S62可以通过以下至少之一确定是否出现第一目标漏洞:
方式一、在响应于上述访问请求成功显示上述第二页面的页面信息的情况下,确定出未出现上述第一目标漏洞;
方式二、在响应于上述访问请求无法显示上述第二页面的页面信息的情况下,确定出现上述第一目标漏洞;
方式三、在响应于上述访问请求无法在预定时长内显示上述第二页面的页面信息的情况下,确定出现上述第一目标漏洞。
可选地,在本实施例中,通过向第一页面发送请求,跳转至第二页面后,第二页面的显示的具体内容确定漏洞,例如,在响应于上述访问请求成功显示上述第二页面的页面信息的情况下,确定出未出现目标漏洞;在响应于上述访问请求无法显示上述第二页面的页面信息的情况下,确定出现目标漏洞;在响应于上述访问请求无法在预定时长(例如,100秒、300秒)内显示上述第二页面的页面信息的情况下,确定出现目标漏洞。
通过上述步骤S61至步骤S62,第一页面和第二页面的联合漏洞检测,进一步解决了相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
与上述第一页面和第二页面联合测试不同的漏洞检测方式是分别对第一页面和第二页面进行漏洞检测,其中,对第一页面进行漏洞检测为一个完整的漏洞检测,对第二页面进行漏洞检测为一个完整的漏洞检测。
可选地,以对第一页面进行漏洞检测为例,在向上述第一页面发送第三请求参数之后,包括以下步骤:
步骤S71,根据上述第一页面响应于上述第三请求参数得到的第一结果,确定是否出现第二目标漏洞。
例如,第三请求参数请求第一页面在预定时间(例如,100秒、300秒)内显示相应的请求内容,若第一页面在上述预定时间内,并没有显示相应的内容,则可以判断第一页面可能出现漏洞,若第一页面在上述预定时间内,显示相应的内容,则可以判断第一页面未出现漏洞。
又例如,第三请求参数请求第一页面显示指定内容(例如,图像、文本),若第一页面无法显示指定内容,则可以判断第一页面可能出现漏洞,若第一页面能够显示指定功能的界面,则可以判断第一页面未出现漏洞。
通过上述步骤S71,第一页面响应于上述第三请求参数得到的第一结果,可以直观的判断是否出现漏洞,进而达到了提高漏洞检测效率和准确性的技术效果。
可选地,以对第二页面进行漏洞检测为例,对上述流程信息指示的在上述第一页面之后被访问的上述第二页面进行第二漏洞检测操作包括:根据第二参数信息对上述流程信息指示的在上述第一页面之后被访问的上述第二页面进行上述第二漏洞检测操作,其中,上述第二参数信息用于指示与上述第二漏洞检测操作相关联的第二字段的类型,其中具体包括以下步骤:
步骤S81,设置上述第二参数信息中类型为第二目标类型的第二目标字段的取值,其中,上述第二目标字段中的部分字段的取值与上述第二漏洞检测操作相关联;
步骤S82,向上述第二页面发送第四请求参数,其中,上述第四请求参数包括上述第二目标字段和上述第二目标字段的取值。
可选地,在上述步骤S82之后,还包括步骤S83,根据上述第二页面响应于上述第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
可选地,在本实施例中,设置上述第二参数信息中类型为第二目标类型的第二目标字段的取值包括但并不限于:将上述第二参数信息中类型为第二目标类型的全部或者部分字段替换为目标字段。例如,将以XSS漏洞的检测为例:漏洞检测模块首先对submit.php页面发送post请求参数,由于time字段标注为时间戳,漏洞检测模块会把这个字段替换为当前时间的时间戳,同时把攻击向量插入到content字段,整体post的参数为content=[攻击向量]&time=[当前时间戳]。
通过上述步骤S81至步骤S83,向第二页面发送第四请求参数,根据第二页面的显示内容直观的确定是否出现漏洞,进而达到了提高漏洞检测效率和准确性的技术效果。
可选地,在上述根据第二参数信息对上述流程信息指示的在上述第一页面之后被访问的上述第二页面进行上述第二漏洞检测操作之前,还包括以下步骤:
步骤S91,获取访问上述第二页面时向上述第二页面发送的第二请求参数,其中,上述第二请求参数用于指示上述第二字段;
步骤S92,获取上述第二请求参数所指示的上述第二字段的类型;
步骤S93,根据获取的上述第二字段的类型生成上述第二参数信息。
可选地,在本实施例中,上述第二字段和上述第一字段可以相同也可以不同,可以设置为与漏洞检测操作相关联的目标取值。
例如,在本实施例中,上述第二字段和第一字段可以设置为时间字段、测试字段,递增字段等。其中,该递增字段根据访问的页面的次数逐1递增。
通过上述步骤S91至步骤S93,生成用于第二漏洞检测操作的第二参数信息,进一步解决了相关技术中无法满足在业务上线前对业务进行安全扫描的需要的问题,达到了提高漏洞检测效率和准确性的技术效果。
总之,在本实施例中,利用业务上线前会对业务功能的完整性和可用性进行测试的这一契机,记录下流量的请求流程并对请求的参数类型进行标注,请求流程里包含了每个请求之间的顺序相关性,顺序相关性和参数标注可以继续用于后续的漏洞检测,进而可以弥补传统扫描器盲目扫描出现的遗漏的缺陷,满足业务上线前进行安全测试的需要。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述漏洞检测方法的场景中的漏洞检测装置,可选地,本方案实施例可以应用于如上述图1所示硬件环境中,本实施例中在此不再赘述。
根据本发明实施例的一个方面,如图4所示,上述漏洞检测装置包括:
1)第一获取单元42,用于获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;
2)第一检测单元44,用于根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;
3)第二检测单元46,用于对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。
可选地,上述漏洞检测方法可以但不限于业务上线前的漏洞自动化扫描的过程中,例如,应用程序(Application,简称为APP)中新增业务上线前的漏洞检测、网页新增功能块的漏洞检测等。上述仅是示例,本实施例中对此不做任何限定。
需要说明的是,上述APP可以包括多种类型,例如,社交APP、运动APP、学习APP等。
在上述业务上线前的漏洞自动化扫描的过程中,获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。即,对按先后顺序被访问的第一页面和第二页面进行漏洞检测操作,而不是相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
可选地,上述流程信息可以在业务上线前对业务功能的完整性和可用性进行测试时,记录按先后顺序被访问的第一页面和第二页面,将记录的第一页面和第二页面的顺序相关性用于后续的漏洞检测。
需要说明的是,在本实施例中,上述流程信息包括但并不限于:页面被访问的先后顺序,如第一页面被访问的先后顺序、第二页面被访问的先后顺序;此外,还可以包括第三页面、第四页面等页面的被访问的先后顺序。也就是说,在本实施例中,上述流程信息中涉及到的页面数量并不做任何限定,可以根据业务的属性进行自定义。
可选地,在本实施例中,上述漏洞检测装置可以包括但并不限于:将对第一页面进行第一漏洞检测操作和对第二页面进行第二漏洞检测操作作为一个完整的漏洞检测过程;或者,分别对第一页面和第二页面进行漏洞检测。
在上述漏洞检测装置为将对第一页面进行第一漏洞检测操作和对第二页面进行第二漏洞检测操作作为一个完整的漏洞检测过程时包括:向上述第一页面发送第三请求参数;在向上述第一页面发送第三请求参数之后,发送用于请求访问上述第二页面的访问请求;根据响应于上述访问请求得到的访问结果确定是否出现第一目标漏洞。
在上述漏洞检测装置为分别对第一页面和第二页面进行漏洞检测时,在向上述第一页面发送第三请求参数之后,根据上述第一页面响应于上述第三请求参数得到的第一结果,确定是否出现第二目标漏洞;在向上述第二页面发送第四请求参数之后,根据上述第二页面响应于上述第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
下面结合具体示例,对本实施例进行举例说明。
在本示例中,以图1为例,业务上线前首先会先对业务功能的完整性和可用性进行测试,在这个测试的过程中让客户端连上代理端,代理端记录流量请求过程,请求流程再转发给漏洞检测模块按照同样的流程进行漏洞检测。需要说明的是,在本示例中,第一页面以submit.php页面为例进行说明,第二页面以show.php页面为例进行说明;第一参数信息以time参数为例。
在本示例中,具体包括:
步骤S11,客户端装上用于与代理端通信和转发流量到代理端的客户端软件,并开启这个软件;
步骤S12,在客户端上对业务功能进行测试,每一个功能测试的流程结束后都在客户端软件上标注已结束一个流程,假设这里对应的页面请求流程是,先对submit.php页面发送post请求参数:content=aaa&time=1523896271,紧接着访问show.php?id=1页面可以看到对应的content数据。show.php页面展示数据有时间限制,在submit.php提交的time参数上加上300秒,超过这个时间show.php页面则提示超时;
步骤S13,在客户端软件上标注结束流程后,由于请求里带有参数,需要在客户端软件上对参数类型进行标注,以步骤S12中的流程为例:对submit.php页面post请求的time字段标注为时间戳,content标注为测试字段,show.php的id字段标注为递增字段。
步骤S14,参数类型标注结束后该流程发送给漏洞类型的漏洞检测模块进行检测,漏洞检测模块根据上面同样的请求流程和标注的参数类型来进行漏洞检测,以跨站脚本攻击(Cross Site Scripting,简称为XSS)漏洞的检测为例:漏洞检测模块首先对submit.php页面发送post请求参数,由于time字段标注为时间戳,漏洞检测模块会把这个字段替换为当前时间的时间戳,同时把攻击向量插入到content字段,整体post的参数为content=[攻击向量]&time=[当前时间戳]。紧接着检测模块访问show.php?id=2页面(id字段被标注为递增字段,每一轮新的测试都在上一轮测试的id字段上递增)。通过show.php页面的表现来判断是否存在XSS漏洞。
在传统的安全自动化扫描里,由于扫描器不知道submit.php页面与show.php页面之间存在相关性,也不清楚参数类型的信息,甚至有时候根本没有抓取到指向show.php这个页面的链接,就可能出现以下情况:
情况1:扫描器只是单独扫描了submit.php页面或者只是单独扫描了show.php页面;
情况2:扫描器在访问show.php页面前,先访问了类似clear.php页面,清除了在submit.php页面提交保存的数据,导致在扫描show.php页面时没有数据;
情况3:对submit.php页面post参数的time字段提交不正确,在访问show.php页面时已经过期或者提示错误信息;
情况4:先扫描了show.php页面再扫描submit.php页面。
以上出现的任意一种情况都会导致传统的安全自动化扫描出现遗漏的情况,无法满足在业务上线前对业务进行安全扫描的需要,而为了有效解决该技术问题,本实施例提出获取流程信息,其中,该流程信息用于指示按先后顺序被访问的第一页面和第二页面;根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作,其中,该第一参数信息用于指示与该第一漏洞检测操作相关联的第一字段的类型;对该流程信息指示的在该第一页面之后被访问的该第二页面进行第二漏洞检测操作。即,对按先后顺序被访问的第一页面和第二页面进行漏洞检测操作,而不是相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
在一个可选地实施方式中,图5是根据本发明又一种可选实施例的漏洞检测装置结构框图(一),如图5所示,该装置除了包括如图4所示的单元外,还包括:
1)接收单元52,用于在该获取流程信息之前,在该第一页面上接收操作指令;
2)跳转单元54,用于响应于该操作指令,从该第一页面跳转至该第二页面;
3)第一生成单元56,用于生成该流程信息。
可选地,在本实施例中,上述操作指令包括但并不限于:输入关键命令(例如,网页超链接、关键字),点击指定图框、点击关键字等。
可选地,生成上述流程信息包括但并不限于:记录分别访问上述第一页面和第二页面的先后顺序,将该顺序信息定义为上述流程信息。
例如,如图3所示,将访问的第一个页面(例如,论文的上传入口页面)标记为第一页面,将接下来访问的第二个页面(通过入口页面访问的论文的具体内容展示页面)标记为第二页面,将访问的页面的先后顺序记录为上述流程信息。
通过图5所示装置,可以生成用于后续漏检检测的流程信息,避免了现有技术中通过爬虫的方式随机进行漏洞检测导致的漏检的问题,进一步提高了漏洞检测的准确性和及时性。
在一个可选地实施方式中,图6是根据本发明又一种可选实施例的漏洞检测装置结构框图(二),如图6所示,该装置除了包括如图4所示的单元外,还包括:
1)第二获取单元62,用于在该根据第一参数信息对该流程信息指示的在该第二页面之前被访问的该第一页面进行第一漏洞检测操作之前,获取访问该第一页面时向该第一页面发送的第一请求参数,其中,该第一请求参数用于指示该第一字段;
2)第三获取单元64,用于获取该第一请求参数所指示的该第一字段的类型;
3)第二生成单元66,用于根据获取的该第一字段的类型生成该第一参数信息。
可选地,上述第一请求参数所指示的第一字段的类型可以根据待检测漏洞的类型进行预定义,例如,上述第一字段的类型包括但并不限于:时间字段、测试字段。
需要说明的是,上述时间字段可以限定页面的显示时间,例如,设置页面显示时间为100秒、300秒等;上述测试字段中可以插入攻击向量进行漏洞检测。
通过图6所示装置生成第一参数信息,进而可以根据该第一参数信息对流程信息指示的第二页面之前被访问的第一页面进行漏洞检测,提高了漏洞检测的准确性。
在一个可选地实施方式中,图7是根据本发明又一种可选实施例的漏洞检测装置结构框图(三),如图7所示,第一检测单元44包括:
1)设置模块72,用于设置该第一参数信息中类型为第一目标类型的第一目标字段的取值,其中,该第一目标字段中的部分字段的取值与该第一漏洞检测操作相关联;
2)第一发送模块74,用于向该第一页面发送第三请求参数,其中,该第三请求参数包括该第一目标字段和该第一目标字段的取值。
可选地,在本实施例中,设置上述第一参数信息中类型为第一目标类型的第一目标字段的取值包括但并不限于:将上述第一参数信息中类型为第一目标类型的全部或者部分字段替换为目标字段。
例如,将以XSS漏洞的检测为例:漏洞检测模块首先对submit.php页面发送post请求参数,由于time字段标注为时间戳,漏洞检测模块会把这个字段替换为当前时间的时间戳,同时把攻击向量插入到content字段,整体post的参数为content=[攻击向量]&time=[当前时间戳]。
通过图7所示装置,向第一页面发送第三请求参数,其中,第三请求参数包括第一目标字段和第一目标字段的取值,即,通过对请求发送过程执行漏洞检测,为实现整个漏洞检测奠定了检测基础。
在一个可选地实施方式中,图8是根据本发明又一种可选实施例的漏洞检测装置结构框图(四),如图8所示,设置模块72包括:
1)第一设置子单元82,用于将该第一参数信息中类型为第一类型的字段的取值设置为当前时间;
2)第二设置子单元84,用于将该第一参数信息中类型为第二类型的字段的取值设置为与该第一漏洞检测操作相关联的目标取值。
通过图8所述装置,设置上述第一参数信息中类型为第一目标类型的第一目标字段的取值,进一步提高了漏洞检测的准确性,并节省了漏洞检测的时间。
在一个可选地实施方式中,图9是根据本发明又一种可选实施例的漏洞检测装置结构框图(五),如图9所示,第二检测单元46包括:
1)第二发送模块92,用于在向该第一页面发送第三请求参数之后,发送用于请求访问该第二页面的访问请求;
2)第一确定模块94,用于根据响应于该访问请求得到的访问结果确定是否出现第一目标漏洞。
在一个可选地实施方式中,图10是根据本发明又一种可选实施例的漏洞检测装置结构框图(六),如图10所示,第一确定模块94包括:
1)第一确定子单元102,用于在响应于该访问请求成功显示该第二页面的页面信息的情况下,确定出未出现该第一目标漏洞,其中,上述第一确定子单元102可以由第二确定子单元或者第三确定子单元等同替换,其中,第二确定子单元,用于在响应于该访问请求无法显示该第二页面的页面信息的情况下,确定出现该第一目标漏洞;第三确定子单元,用于在响应于该访问请求无法在预定时长内显示该第二页面的页面信息的情况下,确定出现该第一目标漏洞。
可选地,在本实施例中,通过向第一页面发送请求,跳转至第二页面后,第二页面的显示的具体内容确定漏洞,例如,在响应于上述访问请求成功显示上述第二页面的页面信息的情况下,确定出未出现目标漏洞;在响应于上述访问请求无法显示上述第二页面的页面信息的情况下,确定出现目标漏洞;在响应于上述访问请求无法在预定时长(例如,100秒、300秒)内显示上述第二页面的页面信息的情况下,确定出现目标漏洞。
通过上述图9、图10所示装置,第一页面和第二页面的联合漏洞检测,进一步解决了相关技术中不考虑被访问页面的关联性直接进行传统式的漏洞检测所导致的安全自动化扫描出现遗漏的技术问题,进而达到了提高漏洞检测效率和准确性的技术效果。
在一个可选地实施方式中,图11是根据本发明又一种可选实施例的漏洞检测装置结构框图(七),如图11所示,第一检测单元44包括:
1)第二确定模块112,用于在向该第一页面发送第三请求参数之后,根据该第一页面响应于该第三请求参数得到的第一结果,确定是否出现第二目标漏洞。
例如,第三请求参数请求第一页面在预定时间(例如,100秒、300秒)内显示相应的请求内容,若第一页面在上述预定时间内,并没有显示相应的内容,则可以判断第一页面可能出现漏洞,若第一页面在上述预定时间内,显示相应的内容,则可以判断第一页面未出现漏洞。
又例如,第三请求参数请求第一页面显示指定内容(例如,图像、文本),若第一页面无法显示指定内容,则可以判断第一页面可能出现漏洞,若第一页面能够显示指定功能的界面,则可以判断第一页面未出现漏洞。
通过图11所示装置,第一页面响应于上述第三请求参数得到的第一结果,可以直观的判断是否出现漏洞,进而达到了提高漏洞检测效率和准确性的技术效果。
在一个可选地实施方式中,图12是根据本发明又一种可选实施例的漏洞检测装置结构框图(八),如图12所示,第二检测单元46还包括:
1)检测模块122,用于根据第二参数信息对该流程信息指示的在该第一页面之后被访问的该第二页面进行该第二漏洞检测操作,其中,该第二参数信息用于指示与该第二漏洞检测操作相关联的第二字段的类型。
在一个可选地实施方式中,图13是根据本发明又一种可选实施例的漏洞检测装置结构框图(九),如图13所示,检测模块122包括:
1)第三设置子单元132,用于设置该第二参数信息中类型为第二目标类型的第二目标字段的取值,其中,该第二目标字段中的部分字段的取值与该第二漏洞检测操作相关联;
2)发送子单元134,用于向该第二页面发送第四请求参数,其中,该第四请求参数包括该第二目标字段和该第二目标字段的取值。
在一个可选地实施方式中,图14是根据本发明又一种可选实施例的漏洞检测装置结构框图(十),如图14所示,检测模块122还包括:
1)第四确定子单元142,用于在向该第二页面发送第四请求参数之后,根据该第二页面响应于该第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
可选地,在本实施例中,设置上述第二参数信息中类型为第二目标类型的第二目标字段的取值包括但并不限于:将上述第二参数信息中类型为第二目标类型的全部或者部分字段替换为目标字段。例如,将以XSS漏洞的检测为例:漏洞检测模块首先对submit.php页面发送post请求参数,由于time字段标注为时间戳,漏洞检测模块会把这个字段替换为当前时间的时间戳,同时把攻击向量插入到content字段,整体post的参数为content=[攻击向量]&time=[当前时间戳]。
通过图13、14所示装置,向第二页面发送第四请求参数,根据第二页面的显示内容直观的确定是否出现漏洞,进而达到了提高漏洞检测效率和准确性的技术效果。
在一个可选地实施方式中,图15是根据本发明又一种可选实施例的漏洞检测装置结构框图(十一),如图15所示,第二检测单元46还包括:
1)第一获取模块152,用于在该根据第二参数信息对该流程信息指示的在该第一页面之后被访问的该第二页面进行该第二漏洞检测操作之前,获取访问该第二页面时向该第二页面发送的第二请求参数,其中,该第二请求参数用于指示该第二字段;
2)第二获取模块154,用于获取该第二请求参数所指示的该第二字段的类型;
3)生成模块156,用于根据获取的该第二字段的类型生成该第二参数信息。
可选地,在本实施例中,上述第二字段和上述第一字段可以相同也可以不同,可以设置为与漏洞检测操作相关联的目标取值。
例如,在本实施例中,上述第二字段和第一字段可以设置为时间字段、测试字段,递增字段等。其中,该递增字段根据访问的页面的次数逐1递增。
通过图15所示装置,生成用于第二漏洞检测操作的第二参数信息,进一步解决了相关技术中无法满足在业务上线前对业务进行安全扫描的需要的问题,达到了提高漏洞检测效率和准确性的技术效果。
总之,在本实施例中,利用业务上线前会对业务功能的完整性和可用性进行测试的这一契机,记录下流量的请求流程并对请求的参数类型进行标注,请求流程里包含了每个请求之间的顺序相关性,顺序相关性和参数标注可以继续用于后续的漏洞检测,进而可以弥补传统扫描器盲目扫描出现的遗漏的缺陷,满足业务上线前进行安全测试的需要。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取流程信息,其中,所述流程信息用于指示按先后顺序被访问的第一页面和第二页面;
S2,根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作,其中,所述第一参数信息用于指示与所述第一漏洞检测操作相关联的第一字段的类型;
S3,对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,设置所述第一参数信息中类型为第一目标类型的第一目标字段的取值,其中,所述第一目标字段中的部分字段的取值与所述第一漏洞检测操作相关联;
S2,向所述第一页面发送第三请求参数,其中,所述第三请求参数包括所述第一目标字段和所述第一目标字段的取值。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在向所述第一页面发送第三请求参数之后,发送用于请求访问所述第二页面的访问请求;
S2,根据响应于所述访问请求得到的访问结果确定是否出现第一目标漏洞。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据所述第一页面响应于所述第三请求参数得到的第一结果,确定是否出现第二目标漏洞。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据第二参数信息对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行所述第二漏洞检测操作,其中,所述第二参数信息用于指示与所述第二漏洞检测操作相关联的第二字段的类型。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据所述第二页面响应于所述第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取访问所述第二页面时向所述第二页面发送的第二请求参数,其中,所述第二请求参数用于指示所述第二字段;
S2,获取所述第二请求参数所指示的所述第二字段的类型;
S3,根据获取的所述第二字段的类型生成所述第二参数信息。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述漏洞检测方法的电子装置,如图16所示,该电子装置包括存储器1602和处理器1604,该存储器1602中存储有计算机程序,该处理器1604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取流程信息,其中,所述流程信息用于指示按先后顺序被访问的第一页面和第二页面;
S2,根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作,其中,所述第一参数信息用于指示与所述第一漏洞检测操作相关联的第一字段的类型;
S3,对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,设置所述第一参数信息中类型为第一目标类型的第一目标字段的取值,其中,所述第一目标字段中的部分字段的取值与所述第一漏洞检测操作相关联;
S2,向所述第一页面发送第三请求参数,其中,所述第三请求参数包括所述第一目标字段和所述第一目标字段的取值。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,在向所述第一页面发送第三请求参数之后,发送用于请求访问所述第二页面的访问请求;
S2,根据响应于所述访问请求得到的访问结果确定是否出现第一目标漏洞。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,根据所述第一页面响应于所述第三请求参数得到的第一结果,确定是否出现第二目标漏洞。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,根据第二参数信息对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行所述第二漏洞检测操作,其中,所述第二参数信息用于指示与所述第二漏洞检测操作相关联的第二字段的类型。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,根据所述第二页面响应于所述第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,获取访问所述第二页面时向所述第二页面发送的第二请求参数,其中,所述第二请求参数用于指示所述第二字段;
S2,获取所述第二请求参数所指示的所述第二字段的类型;
S3,根据获取的所述第二字段的类型生成所述第二参数信息。
可选地,本领域普通技术人员可以理解,图16所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。图16其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图16中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图16所示不同的配置。
其中,存储器1604可用于存储软件程序以及模块,如本发明实施例中的漏洞检测方法和装置对应的程序指令/模块,处理器1602通过运行存储在存储器1604内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述漏洞检测方法。存储器1604可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1604可进一步包括相对于处理器1602远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1602具体可以但不限于用于存储漏洞检测流程等信息。作为一种示例,如图16所示,上述存储器1602中可以但不限于包括上述漏洞检测装置中的第一获取单元42、第一检测单元44、第二检测单元46。此外,还可以包括但不限于上述漏洞检测装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1610用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1610包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1610为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1608,用于显示上述漏洞检测的结果;和连接总线1610,用于连接上述电子装置中的各个模块部件。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种漏洞检测方法,其特征在于,包括:
获取流程信息,其中,所述流程信息用于指示按先后顺序被访问的第一页面和第二页面;
根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作,其中,所述第一参数信息用于指示与所述第一漏洞检测操作相关联的第一字段的类型;
对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作。
2.根据权利要求1所述的方法,其特征在于,在所述获取流程信息之前,所述方法还包括:
在所述第一页面上接收操作指令;
响应于所述操作指令,从所述第一页面跳转至所述第二页面;
生成所述流程信息。
3.根据权利要求1所述的方法,其特征在于,在所述根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作之前,还包括:
获取访问所述第一页面时向所述第一页面发送的第一请求参数,其中,所述第一请求参数用于指示所述第一字段;
获取所述第一请求参数所指示的所述第一字段的类型;
根据获取的所述第一字段的类型生成所述第一参数信息。
4.根据权利要求1所述的方法,其特征在于,所述根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作包括:
设置所述第一参数信息中类型为第一目标类型的第一目标字段的取值,其中,所述第一目标字段中的部分字段的取值与所述第一漏洞检测操作相关联;
向所述第一页面发送第三请求参数,其中,所述第三请求参数包括所述第一目标字段和所述第一目标字段的取值。
5.根据权利要求4所述的方法,其特征在于,所述设置所述第一参数信息中类型为第一目标类型的第一目标字段的取值包括:
将所述第一参数信息中类型为第一类型的字段的取值设置为当前时间;
将所述第一参数信息中类型为第二类型的字段的取值设置为与所述第一漏洞检测操作相关联的目标取值。
6.根据权利要求4所述的方法,其特征在于,对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作包括:
在向所述第一页面发送第三请求参数之后,发送用于请求访问所述第二页面的访问请求;
根据响应于所述访问请求得到的访问结果确定是否出现第一目标漏洞。
7.根据权利要求6所述的方法,其特征在于,根据响应于所述访问请求得到的访问结果确定是否出现第一目标漏洞包括以下至少之一:
在响应于所述访问请求成功显示所述第二页面的页面信息的情况下,确定出未出现所述第一目标漏洞;
在响应于所述访问请求无法显示所述第二页面的页面信息的情况下,确定出现所述第一目标漏洞;
在响应于所述访问请求无法在预定时长内显示所述第二页面的页面信息的情况下,确定出现所述第一目标漏洞。
8.根据权利要求4所述的方法,其特征在于,在向所述第一页面发送第三请求参数之后,包括:
根据所述第一页面响应于所述第三请求参数得到的第一结果,确定是否出现第二目标漏洞。
9.根据权利要求1所述的方法,其特征在于,对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作包括:
根据第二参数信息对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行所述第二漏洞检测操作,其中,所述第二参数信息用于指示与所述第二漏洞检测操作相关联的第二字段的类型。
10.根据权利要求9所述的方法,其特征在于,根据第二参数信息对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行所述第二漏洞检测操作包括:
设置所述第二参数信息中类型为第二目标类型的第二目标字段的取值,其中,所述第二目标字段中的部分字段的取值与所述第二漏洞检测操作相关联;
向所述第二页面发送第四请求参数,其中,所述第四请求参数包括所述第二目标字段和所述第二目标字段的取值。
11.根据权利要求10所述的方法,其特征在于,在向所述第二页面发送第四请求参数之后,包括:
根据所述第二页面响应于所述第四请求参数得到的第二结果,确定是否出现第三目标漏洞。
12.根据权利要求9所述的方法,其特征在于,在所述根据第二参数信息对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行所述第二漏洞检测操作之前,还包括:
获取访问所述第二页面时向所述第二页面发送的第二请求参数,其中,所述第二请求参数用于指示所述第二字段;
获取所述第二请求参数所指示的所述第二字段的类型;
根据获取的所述第二字段的类型生成所述第二参数信息。
13.一种漏洞检测装置,其特征在于,包括:
第一获取单元,用于获取流程信息,其中,所述流程信息用于指示按先后顺序被访问的第一页面和第二页面;
第一检测单元,用于根据第一参数信息对所述流程信息指示的在所述第二页面之前被访问的所述第一页面进行第一漏洞检测操作,其中,所述第一参数信息用于指示与所述第一漏洞检测操作相关联的第一字段的类型;
第二检测单元,用于对所述流程信息指示的在所述第一页面之后被访问的所述第二页面进行第二漏洞检测操作。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至12任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810654940.0A CN110399723B (zh) | 2018-06-22 | 2018-06-22 | 漏洞检测方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810654940.0A CN110399723B (zh) | 2018-06-22 | 2018-06-22 | 漏洞检测方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399723A true CN110399723A (zh) | 2019-11-01 |
CN110399723B CN110399723B (zh) | 2023-05-12 |
Family
ID=68322392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810654940.0A Active CN110399723B (zh) | 2018-06-22 | 2018-06-22 | 漏洞检测方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399723B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580053A (zh) * | 2020-10-28 | 2021-03-30 | 西安四叶草信息技术有限公司 | 一种漏洞扫描方法及装置 |
CN113676460A (zh) * | 2021-07-28 | 2021-11-19 | 清华大学 | 一种Web应用漏洞集成扫描方法及系统 |
CN114338235A (zh) * | 2022-02-28 | 2022-04-12 | 中国农业银行股份有限公司 | 一种自动化漏洞扫描方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819710A (zh) * | 2012-08-22 | 2012-12-12 | 西北工业大学 | 基于渗透测试的跨站点脚本漏洞检测方法 |
CN105430002A (zh) * | 2015-12-18 | 2016-03-23 | 北京奇虎科技有限公司 | 漏洞检测方法及装置 |
CN105791261A (zh) * | 2015-12-28 | 2016-07-20 | 华为技术有限公司 | 一种跨站脚本攻击的检测方法和检测设备 |
US20160337392A1 (en) * | 2014-06-11 | 2016-11-17 | Tencent Technology (Shenzhen) Company Limited | Web page vulnerability detection method and apparatus |
CN106302337A (zh) * | 2015-05-22 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 漏洞检测方法和装置 |
CN106845248A (zh) * | 2017-01-18 | 2017-06-13 | 北京工业大学 | 一种基于状态转换图的xss漏洞检测方法 |
US20170213032A1 (en) * | 2014-10-17 | 2017-07-27 | Alibaba Group Holding Limited | Method and device for providing access page |
-
2018
- 2018-06-22 CN CN201810654940.0A patent/CN110399723B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819710A (zh) * | 2012-08-22 | 2012-12-12 | 西北工业大学 | 基于渗透测试的跨站点脚本漏洞检测方法 |
US20160337392A1 (en) * | 2014-06-11 | 2016-11-17 | Tencent Technology (Shenzhen) Company Limited | Web page vulnerability detection method and apparatus |
US20170213032A1 (en) * | 2014-10-17 | 2017-07-27 | Alibaba Group Holding Limited | Method and device for providing access page |
CN106302337A (zh) * | 2015-05-22 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 漏洞检测方法和装置 |
CN105430002A (zh) * | 2015-12-18 | 2016-03-23 | 北京奇虎科技有限公司 | 漏洞检测方法及装置 |
CN105791261A (zh) * | 2015-12-28 | 2016-07-20 | 华为技术有限公司 | 一种跨站脚本攻击的检测方法和检测设备 |
CN106845248A (zh) * | 2017-01-18 | 2017-06-13 | 北京工业大学 | 一种基于状态转换图的xss漏洞检测方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580053A (zh) * | 2020-10-28 | 2021-03-30 | 西安四叶草信息技术有限公司 | 一种漏洞扫描方法及装置 |
CN112580053B (zh) * | 2020-10-28 | 2023-06-09 | 西安四叶草信息技术有限公司 | 一种漏洞扫描方法及装置 |
CN113676460A (zh) * | 2021-07-28 | 2021-11-19 | 清华大学 | 一种Web应用漏洞集成扫描方法及系统 |
CN113676460B (zh) * | 2021-07-28 | 2022-07-22 | 清华大学 | 一种Web应用漏洞集成扫描方法、系统、电子设备及存储介质 |
CN114338235A (zh) * | 2022-02-28 | 2022-04-12 | 中国农业银行股份有限公司 | 一种自动化漏洞扫描方法及装置 |
CN114338235B (zh) * | 2022-02-28 | 2024-07-23 | 中国农业银行股份有限公司 | 一种自动化漏洞扫描方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110399723B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908541B (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
WO2020155777A1 (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
CN104484273B (zh) | 应用程序的测试方法、设备及系统 | |
CN108733552B (zh) | 一种fpga远程调试系统及远程调试方法 | |
CN109428878A (zh) | 漏洞检测方法、检测装置和检测系统 | |
CN107341098A (zh) | 软件性能测试方法、平台、设备及存储介质 | |
CN109766263A (zh) | 自动化测试分析处理方法、装置、计算机设备及存储介质 | |
CN104050076A (zh) | 移动终端上的应用软件测试方法、装置及系统 | |
CN108647141A (zh) | 自动测试方法、装置、计算机可读介质及电子设备 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN104850499B (zh) | 基带软件的自动化测试方法及装置 | |
CN110833693B (zh) | 游戏运行方法和装置、存储介质及电子装置 | |
CN105183630B (zh) | 应用程序测试方法及装置 | |
CN110032507A (zh) | 应用程序测试方法、装置、系统、电子设备及存储介质 | |
CN110399723A (zh) | 漏洞检测方法和装置、存储介质及电子装置 | |
CN108845930A (zh) | 界面操作测试方法和装置、存储介质及电子装置 | |
CN107391219B (zh) | 函数编译方法和装置 | |
CN107018523A (zh) | Wifi模块测试方法及装置 | |
CN111124567B (zh) | 目标应用的操作录制方法和装置 | |
CN107203470B (zh) | 页面调试方法和装置 | |
CN110493812A (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN110399288A (zh) | 应用测试方法和装置、存储介质及电子装置 | |
CN112148607A (zh) | 一种业务场景的接口测试方法和装置 | |
CN110267215A (zh) | 一种数据检测方法、设备及存储介质 | |
CN105117340B (zh) | 用于iOS浏览器应用质量评估的URL检测方法和装置 |
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 |