CN114884722A - 漏洞检测方法、装置、电子设备及可读存储介质 - Google Patents

漏洞检测方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114884722A
CN114884722A CN202210480039.2A CN202210480039A CN114884722A CN 114884722 A CN114884722 A CN 114884722A CN 202210480039 A CN202210480039 A CN 202210480039A CN 114884722 A CN114884722 A CN 114884722A
Authority
CN
China
Prior art keywords
vulnerability
target
detection
program
link address
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
Application number
CN202210480039.2A
Other languages
English (en)
Inventor
季洪俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuba Co Ltd
Original Assignee
Wuba Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN202210480039.2A priority Critical patent/CN114884722A/zh
Publication of CN114884722A publication Critical patent/CN114884722A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种漏洞检测方法、装置、电子设备及可读存储介质,所述方法包括:响应于对验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与目标验证组件绑定的检测链接地址;将检测链接地址添加至预设的漏洞利用程序中,并发送至漏洞目标;若接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则确定漏洞目标存在目标验证组件对应的漏洞种类的漏洞;采用目标验证组件,验证漏洞是否能被利用。本发明实施例根据漏洞种类灵活配置漏洞检测任务检测漏洞目标是否存在漏洞,以及验证漏洞是否能被利用,减少了漏洞检测的工作量,提高了漏洞检测的效率。

Description

漏洞检测方法、装置、电子设备及可读存储介质
技术领域
本发明实施例涉及计算机技术领域,特别是涉及一种漏洞检测方法、一种漏洞检测装置、一种电子设备以及一种计算机可读存储介质。
背景技术
漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感性,或进行攻击的威胁作用的可能性。漏洞可能来自应用程序、网站或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,因此需要进行漏洞检测,在漏洞被利用之前将其发现。
目前,漏洞检测主要通过检测人员向漏洞目标发送检测请求,根据监听到的内容判断漏洞目标是否执行该检测请求对应的命令,进而判断漏洞目标是否存在漏洞;但该方式需要检测人员对漏洞目标的每个可能潜在的漏洞单独设置对应的检测方式,难以根据漏洞的漏洞种类灵活配置和拓展,且缺乏验证漏洞是否能被利用的手段,难以分辨风险等级较高的漏洞,漏洞检测的步骤繁杂、效率不高。
发明内容
本发明实施例是提供一种漏洞检测方法、装置、电子设备以及计算机可读存储介质,以解决现有技术中漏洞检测工作繁杂,效率低下的问题。
本发明实施例公开了一种漏洞检测方法,应用于漏洞辅助验证平台,所述漏洞辅助验证平台中包括至少一个验证组件,所述验证组件分别用于验证对应的漏洞种类,所述方法包括:
响应于对所述验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与所述目标验证组件绑定的检测链接地址;
将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标;
若接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标存在所述目标验证组件对应的漏洞种类的漏洞;
采用所述目标验证组件,验证所述漏洞是否能被利用。
可选地,所述发送至所述漏洞目标,包括:
确定所述漏洞目标中的交互对象;所述交互对象具有对应的对象信息;
向所述漏洞目标发送携带所述对象信息和所述漏洞利用程序的检测请求;所述漏洞目标用于将所述漏洞利用程序分别注入至所述对象信息对应的所述交互对象,以使所述交互对象被触发时,执行所述漏洞利用程序。
可选地,所述方法还包括:
在所述漏洞目标将所述漏洞利用程序注入至所述对象信息对应的所述交互对象失败时,接收到所述漏洞目标发送的注入失败的提示信息;
根据所述注入失败的提示信息,确定所述漏洞目标对应的所述交互对象不存在漏洞。
可选地,所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标之后,所述方法还包括:
监听所述漏洞目标针对所述检测请求发送的响应消息;
确定所述响应消息中是否存在所述漏洞目标向所述检测链接地址发送的访问请求。
可选地,在所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标之后,所述方法还包括:
若没有接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标不存在所述目标验证组件对应的漏洞种类的漏洞。
可选地,所述验证组件包括利用代码以及所述利用代码对应的验证数据;所述利用代码用于尝试触发所述漏洞,所述验证数据用于当所述漏洞被触发时,验证所述漏洞是否能被利用,所述采用所述目标验证组件,验证所述漏洞是否能被利用,包括:
获取所述目标验证组件对应的目标利用代码和目标验证数据;
向所述漏洞发送携带所述目标利用代码的利用请求,以使所述漏洞执行所述目标利用代码并产生对应的执行数据;
接收所述漏洞发送的所述执行数据;
若所述执行数据与所述目标验证数据相同,则确定所述漏洞能够被利用。
可选地,所述漏洞目标至少包括网站和应用程序的其中一种,所述交互对象至少包括按钮控件、输入控件和显示控件中的其中一种。
可选地,所述漏洞辅助验证平台支持多种通信协议,所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标,包括:
从所述通信协议中确定所述漏洞目标支持的目标通信协议;
在将所述检测链接地址添加至预设的漏洞利用程序中后,基于所述目标通信协议发送至所述漏洞目标;
其中,所述通信协议至少包括域名系统协议、超文本传输协议、轻型目录访问协议、远程方法调用协议和Java数据库连接协议中的其中一种。
本发明实施例还公开了一种漏洞检测装置,应用于漏洞辅助验证平台,所述漏洞辅助验证平台中包括至少一个验证组件,所述验证组件分别用于验证对应的漏洞种类,所述装置包括:
检测链接地址生成模块,用于响应于对所述验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与所述目标验证组件绑定的检测链接地址;
漏洞利用程序发送模块,用于将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标;
漏洞确定模块,用于若接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标存在所述目标验证组件对应的漏洞种类的漏洞;
漏洞验证模块,用于采用所述目标验证组件,验证所述漏洞是否能被利用。
可选地,所述漏洞利用程序发送模块,还用于:确定所述漏洞目标中的交互对象;所述交互对象具有对应的对象信息;向所述漏洞目标发送携带所述对象信息和所述漏洞利用程序的检测请求;所述漏洞目标用于将所述漏洞利用程序分别注入至所述对象信息对应的所述交互对象,以使所述交互对象被触发时,执行所述漏洞利用程序。
可选地,所述装置还包括:注入失败信息接收模块,用于在所述漏洞目标将所述漏洞利用程序注入至所述对象信息对应的所述交互对象失败时,接收到所述漏洞目标发送的注入失败的提示信息;交互对象漏洞确定模块,用于根据所述注入失败的提示信息,确定所述漏洞目标对应的所述交互对象不存在漏洞。
可选地,所述装置还包括:响应信息监听模块,用于监听所述漏洞目标针对所述检测请求发送的响应消息;访问请求确定模块,用于确定所述响应消息中是否存在所述漏洞目标向所述检测链接地址发送的访问请求。
可选地,所述装置还包括:漏洞确定子模块,用于若没有接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标不存在所述目标验证组件对应的漏洞种类的漏洞。
可选地,所述验证组件包括利用代码以及所述利用代码对应的验证数据;所述利用代码用于尝试触发所述漏洞,所述验证数据用于当所述漏洞被触发时,验证所述漏洞是否能被利用,所述漏洞验证模块,还用于:获取所述目标验证组件对应的目标利用代码和目标验证数据;向所述漏洞发送携带所述目标利用代码的利用请求,以使所述漏洞执行所述目标利用代码并产生对应的执行数据;接收所述漏洞发送的所述执行数据;若所述执行数据与所述目标验证数据相同,则确定所述漏洞能够被利用。
可选地,所述漏洞目标至少包括网站和应用程序的其中一种,所述交互对象至少包括按钮控件、输入控件和显示控件中的其中一种。
可选地,所述漏洞辅助验证平台支持多种通信协议,所述漏洞利用程序发送模块,还用于:从所述通信协议中确定所述漏洞目标支持的目标通信协议;在将所述检测链接地址添加至预设的漏洞利用程序中后,基于所述目标通信协议发送至所述漏洞目标;其中,所述通信协议至少包括域名系统协议、超文本传输协议、轻型目录访问协议、远程方法调用协议和Java数据库连接协议中的其中一种。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一个或多个计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例还公开了一种计算机程序产品,该程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行以实现如本发明实施例所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,漏洞辅助验证平台响应于对验证组件的选择操作,确定针对漏洞目标的目标验证组件,并生成与目标验证组件绑定的检测链接地址,将检测链接地址添加至预设的漏洞利用程序中,并发送至漏洞目标,若接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则确定漏洞目标存在目标验证组件对应的漏洞种类的漏洞,进而采用目标验证组件,验证漏洞是否能被利用。本发明实施例可以根据漏洞种类灵活配置漏洞检测任务,使用户可以不编写或编写少量代码即可检测漏洞目标是否存在漏洞,以及验证漏洞是否能被利用,减少了漏洞检测的工作量,提高了漏洞检测的效率。
附图说明
图1是本发明实施例中提供的一种应用环境的示意图;
图2是本发明实施例中提供的一种漏洞检测方法的步骤流程图;
图3是本发明实施例中提供的一种漏洞检测的流程示意图;
图4是本发明实施例中提供的另一种漏洞检测方法的步骤流程图;
图5是本发明实施例中提供的另一种漏洞检测的流程示意图;
图6是本发明实施例中提供的一种漏洞检测装置的结构框图;
图7是实现本发明各个实施例的一种电子设备的硬件结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例所提供的漏洞检测方法,可以应用于如图1所示的应用环境中。其中,终端设备102通过网络与终端设备104进行通信,其中,在终端设备102中包括漏洞辅助验证平台,终端设备104中包括漏洞目标。具体地,终端设备102的漏洞辅助验证平台响应于对验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与目标验证组件绑定的检测链接地址;将检测链接地址添加至预设的漏洞利用程序中,并发送至终端设备104的漏洞目标;若接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则确定漏洞目标存在目标验证组件对应的漏洞种类的漏洞;采用目标验证组件,验证漏洞是否能被利用。
实际应用中,终端设备102和终端设备104可以包括但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、车载终端、便携式可穿戴设备和服务器,服务器可以是独立运行的服务器,或者由多个服务器组成的服务器集群,其中,服务器可以是云端服务器。
漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感性,或进行攻击的威胁作用的可能性。漏洞可能来自应用程序、网站或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,因此需要进行漏洞检测,在漏洞被利用之前将其发现。
在现有技术中,漏洞检测主要通过检测人员针对漏洞目标编写对应的检测代码,并向漏洞目标发送携带检测代码的检测请求,根据漏洞目标返回的数据判断漏洞目标是否执行该检测请求对应的命令,进而判断漏洞目标是否存在漏洞,然而,由于漏洞目标的网络环境和复杂程度各不相同,这种方式需要针对漏洞目标的每个可能潜在的漏洞单独设置检测方式,难以根据漏洞的漏洞种类灵活配置和拓展,即使对于同一类漏洞也需要重复设置检测方式,导致漏洞检测的效率低下。此外,缺乏验证漏洞是否能被利用的手段,导致难以分辨出风险等级较高的漏洞。
对此,本发明实施例的核心发明点之一在于,根据漏洞种类灵活配置漏洞检测任务,使用户可以不编写或编写少量代码即可检测漏洞目标是否存在漏洞,以及验证漏洞是否能被利用,减少了漏洞检测的工作量,进而提高了漏洞检测的效率。
为了使本领域的技术人员更好地理解本发明实施例的技术方案,以下对本发明涉及的专业术语或名词加以解释。
DNS:域名系统(Domain Name System,域名系统)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS协议作用是将域名转换为IP地址。
HTTP:超文本传输协议(Hyper Text Transfer Protocol,超文本传输协议)是一个简单的请求-响应协议,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
XSS:(Cross Site Script Attack,跨站脚本攻击),为避免与CSS(CascadingStyle Sheets,层叠样式表)的缩写混淆,故缩写为XSS。这是一种将任意Javascript(编程语言)代码插入到其他Web(World Wide Web,全球广域网)用户页面里执行以达到攻击目的漏洞。攻击者利用浏览器的动态展示数据功能,在HTML(HyperText Mark-up Language,超文本标记语言)页面里嵌入恶意代码。当用户浏览改页时,这些潜入在HTML中的恶意代码会被执行,用户浏览器被攻击者控制,从而达到攻击者的特殊目的,如Cookie(储存在用户本地终端上的数据)窃取等。
Log4j(Log for java,java日志信息控制的开源项目),通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI(Graphical User Interface,图形用户界面)组件等,Log4j漏洞是Log4j开源项目指某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
参照图2,示出了本发明实施例中提供的一种漏洞检测方法的步骤流程图,应用于漏洞辅助验证平台,所述漏洞辅助验证平台中包括至少一个验证组件,所述验证组件分别用于验证对应的漏洞种类,具体可以包括如下步骤:
步骤202、响应于对所述验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与所述目标验证组件绑定的检测链接地址。
本发明实施例的漏洞检测方法可以应用于漏洞辅助验证平台(以下简称平台),平台中包括有至少一个根据漏洞种类预设的验证组件,验证组件分别用于验证对应的漏洞种类。
在具体实现中,平台可以响应用户对验证组件的选择操作,确定针对漏洞目标的目标验证组件,其中,漏洞目标可以是应用程序或网站。在确定目标验证组件后,平台可以生成与目标验证组件绑定的检测链接地址,具体地,平台可以首先生成一个初始链接地址,然后将初始链接地址与目标验证组件进行绑定,得到检测链接地址,通过该检测链接地址,可以唯一定位到绑定的验证组件。
在一示例中,假设平台中包括有XSS漏洞验证组件和Log4j漏洞验证组件,若用户想要检测漏洞目标中是否存在Log4j漏洞,则可以新建检测任务,选择Log4j漏洞验证组件,平台响应于用户的选择操作,确定Log4j漏洞验证组件为目标验证组件,并生成与该Log4j漏洞验证组件绑定的检测链接地址。
步骤204、将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标。
在具体实现中,平台中预设有针对不同漏洞种类的漏洞利用程序,因此可以根据不同检测任务选择对应的漏洞利用程序,例如,在检测任务为检测漏洞目标是否存在Log4j漏洞时,可以选择对应的Log4j漏洞利用程序,当然,平台也可以接收用户根据实际需求设置的漏洞利用程序,其中,漏洞利用程序可以是可执行代码。
在本发明实施例中,在将检测链接地址添加至漏洞利用程序后,可以将漏洞利用程序发送至漏洞目标,其中,如果漏洞目标存在检测任务对应的漏洞种类的漏洞时,就会执行该漏洞利用程序,反之,如果漏洞目标不存在检测任务对应的漏洞种类的漏洞时,就不会执行该漏洞利用程序。
在一示例中,如图3所示,包括了漏洞辅助验证平台和Log4j漏洞目标(存在Log4j漏洞的漏洞目标),其中,原始漏洞利用程序可以是如下可执行代码“${jndi:}”,假设检测链接地址为“ldap:/test.com/漏洞检测”,则将检测链接地址添加至该漏洞利用程序后,该漏洞利用程序将变更为“${jndi:ldap:/test.com/漏洞检测}”,随后,漏洞辅助验证平台就可以将此漏洞利用程序发送给Log4j漏洞目标。
步骤206、若接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标存在所述目标验证组件对应的漏洞种类的漏洞。
在具体实现中,漏洞利用程序被设置为只有当漏洞目标存在目标验证组件对应的漏洞种类的漏洞时,漏洞利用程序才会被漏洞目标执行,而由于漏洞利用程序中添加了检测链接地址,因此在漏洞利用程序被漏洞目标执行时,会触发漏洞目标向检测链接地址发送访问请求,如果平台在接收到该访问请求后,则可以确定漏洞目标存在目标验证组件对应的漏洞种类的漏洞。示例性地,参照图3所示,由于Log4j漏洞目标向漏洞辅助验证平台发送了针对检测链接地址“ldap:/test.com/漏洞检测”的访问请求,因此就可以确定Log4j漏洞目标中存在Log4j漏洞。
步骤208、采用所述目标验证组件,验证所述漏洞是否能被利用。
其中,漏洞是否能被利用指的是漏洞是否会被人为利用,也就是漏洞是否会按照人为设置执行相应的功能,并返回指定的数据,例如返回用户姓名、职业、账户等隐私信息。因此,如果漏洞能被利用,可以确定该漏洞为风险等级较高的漏洞,反之,如果漏洞不能被利用,可以确定该漏洞为风险等级较低的漏洞。
在本发明实施例中,在确定了漏洞目标存在目标验证组件对应的漏洞种类的漏洞后,可以通过目标验证组件,验证漏洞是否能被利用。具体地,通过目标验证组件可以向漏洞发送利用请求,尝试利用该漏洞,并根据漏洞返回的结果验证漏洞是否能被利用,例如,如果漏洞返回的结果可以为获取到用户的隐私信息,则可以确定该漏洞能被利用。
作为一个可选示例,可以基于漏洞种类可以确定该漏洞是否能被利用,因此,在本发明实施例中,也可以直接基于漏洞的漏洞种类来确定该漏洞是否能被利用,从而可以无需采用目标验证组件,验证该漏洞是否能被利用。
考虑到在实际中,开发者通常会针对漏洞目标不同的漏洞种类的漏洞设置对应的安全防御策略,因此,即使基于漏洞种类可以确定该漏洞能被利用,但是如果开发者已经针对该漏洞种类的漏洞设置了安全防御策略,也可以使得该漏洞无法被利用。例如,假设漏洞目标存在XSS漏洞,该漏洞种类的漏洞是可以获取用户的信息,是一个能够被利用的漏洞,但是由于开发者已经针对XSS漏洞设置了安全防御策略,因此XSS漏洞是无法获取用户的信息,即在安全防御策略的加持下,XSS漏洞已经是一个不能被利用的漏洞。
基于上述情况,作为另一个可选示例,首先,可以基于漏洞种类可以确定漏洞是否能被利用,然后,如果基于漏洞种类确定该漏洞是能被利用的漏洞时,才会采用对应的目标验证组件,进一步验证该漏洞是否能被利用。可以理解,由于仅对基于漏洞种类确定能被利用的漏洞验证是否能被利用,减少了需要验证漏洞是否能被利用的漏洞数量,进一步提高漏洞的验证效率。
综上可知,本发明实施例可以通过目标验证组件验证漏洞是否能被利用,也可以通过漏洞种类验证漏洞是否能被利用,还可以通过漏洞种类验证漏洞能被利用后,进一步通过目标验证组件验证该漏洞是否能被利用,以避免基于漏洞种类确定漏洞是否能被利用错误的情况出现。当然,上述验证漏洞是否能被利用的验证方式仅仅是作为示例,在实际应用中可以根据实际需求选择其他验证方式或者验证方式,本发明实施例对此无需加以限制。
在上述漏洞检测方法中,漏洞辅助验证平台响应于对验证组件的选择操作,确定针对漏洞目标的目标验证组件,并生成与目标验证组件绑定的检测链接地址,将检测链接地址添加至预设的漏洞利用程序中,并发送至漏洞目标,若接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则确定漏洞目标存在目标验证组件对应的漏洞种类的漏洞,进而采用目标验证组件,验证漏洞是否能被利用。本发明实施例可以根据漏洞种类灵活配置漏洞检测任务,使用户可以不编写或编写少量代码即可检测漏洞目标是否存在漏洞,以及验证漏洞是否能被利用,减少了漏洞检测的工作量,提高了漏洞检测的效率。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在一示例性实施例中,所述步骤204、所述发送至所述漏洞目标,包括:
确定所述漏洞目标中的交互对象;所述交互对象具有对应的对象信息;
向所述漏洞目标发送携带所述对象信息和所述漏洞利用程序的检测请求;所述漏洞目标用于将所述漏洞利用程序分别注入至所述对象信息对应的所述交互对象,以使所述交互对象被触发时,执行所述漏洞利用程序。
其中,交互对象为漏洞目标中可以与外界产生交互的对象,例如,应用程序或者网站中的按钮控件、输入控件和显示控件等交互控件。交互对象具有对应的对象信息,例如,漏洞目标中的“账号”输入控件1对应的对象信息可以是“账号-输入框-1”,一个交互对象的对象信息可以唯一确定对应的交互对象。
在具体实现中,平台可以向漏洞目标发送携带对象信息和漏洞利用程序的检测请求,以使漏洞目标将漏洞利用程序分别注入至对象信息对应的交互对象中。在一示例中,假设漏洞利用程序为“<script>‘漏洞检测x;abc.test’</script>”,确定了漏洞目标的交互对象为上述“账号”输入控件1,对应的对象信息“账号-输入框-1”,就可以向漏洞目标发送携带对象信息“账号-输入框-1”和漏洞利用程序“<script>‘漏洞检测x;abc.test’</script>”的检测请求,使漏洞目标根据“账号-输入框-1”确定到交互对象为“账号”输入控件1,并将“<script>‘漏洞检测x;abc.test’</script>”注入到“账号”输入控件1中。其中,交互对象被触发时,将执行漏洞利用程序,举例而言,当漏洞目标的用户在交互对象“账号”输入控件1中输入账号或其他字符串时,交互对象“账号”输入控件1就会执行漏洞利用程序。
在上述示例性实施例中,可以向漏洞目标发送携带对象信息和漏洞利用程序的检测请求,将漏洞利用程序分别注入至漏洞目标的各个交互对象中,实现对漏洞目标全面的漏洞检测,提高漏洞检测的准确率和效率。
在一示例性实施例中,在所述步骤204、所述发送至所述漏洞目标之后,所述方法还包括:
在所述漏洞目标将所述漏洞利用程序注入至所述对象信息对应的所述交互对象失败时,接收到所述漏洞目标发送的注入失败的提示信息;
根据所述注入失败的提示信息,确定所述漏洞目标对应的所述交互对象不存在漏洞。
在具体实现中,向漏洞目标的交互对象注入程序的行为实际上是非法的,也就是说,当漏洞目标的交互对象不存在安全风险或漏洞时,会拒绝外界注入的程序的请求。因此,当漏洞目标将漏洞利用程序注入至对象信息对应的交互对象失败时,平台会接收到注入失败的提示信息,根据该提示信息,就可以确定漏洞目标中对应的交互对象不存在漏洞。
在一示例中,确定了漏洞目标的交互对象为“账号”输入控件2,对应的对象信息“账号-输入框-2”,如果在向其注入漏洞利用程序时失败了,漏洞目标会向平台发送注入失败的提示信息,例如“账号-输入框-2-注入失败”,平台在接收到提示信息后,可以根据该提示信息确定漏洞目标中的交互对象“账号”输入控件2为不存在漏洞的交互对象。
在上述示例性实施例中,可以根据漏洞目标发送的注入失败的提示信息,确定出漏洞目标不存在漏洞的交互对象,实现对漏洞目标全面的漏洞检测,提高漏洞检测的准确率和效率。
在一示例性实施例中,参照图4,所述步骤204、所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标之后,所述方法还可以包括:
步骤402、监听所述漏洞目标针对所述检测请求发送的响应消息。
步骤404、确定所述响应消息中是否存在所述漏洞目标向所述检测链接地址发送的访问请求。
在具体实现中,平台向漏洞目标发送检测请求之后,会监听漏洞目标针对检测请求发送的响应消息,具体是接收漏洞目标针对检测请求返回的所有响应消息,进而对这些响应消息进行分析,例如,分析响应消息中是否存在漏洞目标向检测链接地址发送的访问请求,其中,如果响应消息中存在漏洞目标向检测链接地址发送的访问请求,则可以确定该漏洞目标存在漏洞。
在上述示例性实施例中,监听漏洞目标针对检测请求发送的响应消息,并通过确定响应消息中是否存在漏洞目标向检测链接地址发送的访问请求,来确定漏洞目标是否存在漏洞,由于只需要确定响应消息中是否存在漏洞目标向检测链接地址发送的访问请求,即可确定漏洞目标是否存在漏洞,检测漏洞目标是否存在漏洞的方式简单,且易于实现。
在一示例性实施例中,所述步骤204、所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标之后,所述方法还可以包括:
若没有接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标不存在所述目标验证组件对应的漏洞种类的漏洞。
在具体实现中,如果漏洞目标不存在目标验证组件对应的漏洞种类的漏洞,则漏洞目标会拒绝执行平台发送的漏洞利用程序。因此,若平台没有接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则可以确定漏洞目标不存在目标验证组件对应的漏洞种类的漏洞。
在上述示例性实施例中,若没有接收到漏洞目标向检测链接地址发送的访问请求,则可以确定漏洞目标不存在目标验证组件对应的漏洞种类的漏洞,简化了对漏洞目标是否存在漏洞的判断依据,优化了漏洞检测的过程。
在一示例性实施例中,所述验证组件可以包括利用代码以及所述利用代码对应的验证数据;所述利用代码用于尝试触发所述漏洞,所述验证数据用于当所述漏洞被触发时,验证所述漏洞是否能被利用,所述步骤208、采用所述目标验证组件,验证所述漏洞是否能被利用,包括:
获取所述目标验证组件对应的目标利用代码和目标验证数据;
向所述漏洞发送携带所述目标利用代码的利用请求,以使所述漏洞执行所述目标利用代码并产生对应的执行数据;
接收所述漏洞发送的所述执行数据;
若所述执行数据与所述目标验证数据相同,则确定所述漏洞能够被利用。
其中,漏洞被利用指的是漏洞能够按照利用者设定的方式运行或返回利用者指定的数据,而在实际应用中,漏洞目标存在漏洞并不意味着一定会受到恶意攻击或造成损失,这是因为受到漏洞目标设置的安全防御策略,或漏洞本身的影响,也就是说,并非所有漏洞都可以被利用,而能被利用的漏洞视为是风险等级较高的漏洞,因此在漏洞检测过程中,验证漏洞是否能被利用是重要且必须的。
其中,验证组件可以包括利用代码以及利用代码对应的验证数据,通常,验证组件中预置有与其漏洞种类对应的利用代码,比如,XSS漏洞验证组件中预置有XSS漏洞利用代码,当然,验证组件中预置的利用代码也可以根据实际需求新增或修改;验证数据则是在漏洞目标执行利用代码后预期得到的执行数据。
在本发明实施例中,在确定漏洞目标存在漏洞后,利用代码用于尝试触发漏洞,具体地,利用代码的作用是控制漏洞,使得漏洞根据利用代码的逻辑触发并执行,可以理解,由于在实际中并不能直接观察出漏洞是否根据利用代码的逻辑触发并执行,因此,在使用利用代码触发漏洞时,还会获取漏洞执行利用代码后返回的执行数据,然后,通过比对执行数据和验证数据是否相同,来确定漏洞能否被利用。具体来说,如果在漏洞被利用代码触发后,返回的执行数据与利用代码对应的验证数据相同,则说明漏洞是可以被利用的,如果返回的执行数据与利用代码对应的验证数据不相同,或者没有接收到执行数据,或者执行数据为空,则说明漏洞不可以被利用。
在另一种情况中,验证数据可以是预设的执行利用代码后期待得到的数据的类型或范围,即当执行数据属于验证数据对应的类型或范围,例如,验证数据和执行数据都是关于用户的信息,也可以将验证数据和执行数据视作相同。
在一示例中,假设目标验证组件为XSS漏洞验证组件,目标验证数据为预设链接地址,目标验证数据对应的目标利用代码作用是触发漏洞跳转到验证数据的预设链接地址;向漏洞发送携带目标利用代码的利用请求,以使漏洞执行目标利用代码并产生对应的执行数据,如果平台接收漏洞发送的执行数据,并且执行数据中存在漏洞向预设链接地址发送的访问请求,则确定漏洞是能够被利用的。
在上述示例性实施例中,通过向漏洞发送包含利用代码的利用请求,尝试触发漏洞执行利用代码并产生对应的执行数据,可以在确定漏洞存在的情况下,进一步验证漏洞是否能被利用,通过准确地检测出漏洞目标中能被利用的漏洞,可以及时确定漏洞目标中风险等级较高的漏洞,漏洞检测更全面。
在一示例性实施例中,所述漏洞辅助验证平台支持多种通信协议,所述步骤204、所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标,可以包括:
从所述通信协议中确定所述漏洞目标支持的目标通信协议;
在将所述检测链接地址添加至预设的漏洞利用程序中后,基于所述目标通信协议发送至所述漏洞目标;
其中,所述通信协议至少可以包括域名系统协议、超文本传输协议、轻型目录访问协议、远程方法调用协议和Java数据库连接协议中的其中一种,当然,在具体实施本发明实施例时并不仅限于上述的通信协议。
在现有技术中,漏洞检测主要通过DNS和HTTP协议进行通信,通过使漏洞目标执行发送的DNS与HTTP协议的请求,然后根据基于DNS和HTTP协议监听到的漏洞目标内容,来判断漏洞目标是否执行请求,进而判断漏洞目标是否存在漏洞。但是现有技术并不支持轻型目录访问协议(Lightweight Directory Access Protocol,简称LDAP)、远程方法调用(Remote Method Invocation,简称RMI)协议和Java数据库连接(Java DataBaseConnectivity,JDBC)协议等协议的监听。而本发明实施例的漏洞辅助验证平台支持多种通信协议,包括但不限于使用域名系统协议、超文本传输协议、轻型目录访问协议、远程方法调用协议和Java数据库连接协议等通信协议与漏洞目标进行通信,从而实现对漏洞目标的监听。
在具体实现中,可以从平台的通信协议中确定漏洞目标支持的目标通信协议,比如漏洞目标是网页,则可以确定域名系统协议和超文本传输协议为目标通信协议,然后基于目标通信协议向漏洞目标发送检测请求。可选地,在监听与漏洞目标之间的通信数据时,平台可以同时监听支持的所有通信协议下的通信数据,也可以设置监听一个或多个通信协议下的通信数据。
在上述示例性实施例中,平台可以根据漏洞目标支持的通信协议与其进行通信,并支持对多种通信协议的监听,还可以根据需求选择通信协议,使漏洞检测的覆盖面更广,可以适用于更多不同通信协议的漏洞目标。
为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过一个示例,以及结合图5对本发明实施例进行说明。
参照图5,示出本发明的一种漏洞检测方法实施例的流程示意图,如图中所示,包括了用户、漏洞辅助验证平台(以下简称平台)和漏洞目标,具体可以包括如下步骤:
步骤502、检测人员向漏洞辅助验证平台注册用户。
在具体实现中,检测人员可以向平台注册用户,在注册后,用户可以通过平台新建检测漏洞任务,可以进行选择验证组件,发送检测请求等操作。
步骤504、响应用户针对漏洞目标验证组件的选择操作,生成检测链接地址。
其中,验证组件分别用于验证对应的漏洞种类的漏洞,用户选定的验证组件则为目标验证组件。
步骤506、将检测链接地址添加至预设漏洞利用程序中。
具体地,平台中具有漏洞利用程序,用户可以使用平台中保存的漏洞利用程序,也可以使用预设漏洞利用程序,在确定了漏洞利用程序之后,可以将检测链接地址添加至漏洞利用程序中。
步骤508、将漏洞利用程序发送至漏洞目标。
具体地,可以是向漏洞目标发送携带漏洞利用程序的检测请求。
步骤510、监听漏洞目标向检测链接地址发送访问请求。
步骤512、确定漏洞目标存在漏洞,并验证漏洞是否能被利用。
具体地,若接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则确定漏洞目标存在目标验证组件对应的漏洞种类的漏洞;若没有接收到漏洞利用程序在漏洞目标被执行时,触发漏洞目标向检测链接地址发送的访问请求,则确定漏洞目标不存在目标验证组件对应的漏洞种类的漏洞。
在确定漏洞目标存在漏洞后,可以进一步验证漏洞是否能被利用。具体地,验证组件包括利用代码以及利用代码对应的验证数据,通过获取目标验证组件对应的目标利用代码和目标验证数据,向漏洞发送携带目标利用代码的利用请求,以使漏洞执行目标利用代码并产生对应的执行数据;接收漏洞发送的执行数据,其中,若执行数据与目标验证数据相同,则确定漏洞能够被利用。
在上述示例中,根据漏洞种类灵活配置漏洞检测任务,使用户可以不编写或编写少量代码即可检测漏洞目标是否存在漏洞,以及验证漏洞是否能被利用,减少了漏洞检测的工作量,提高了漏洞检测的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明实施例中提供的一种漏洞检测装置的结构框图,具体可以包括如下模块:
检测链接地址生成模块602,用于响应于对所述验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与所述目标验证组件绑定的检测链接地址;
漏洞利用程序发送模块604,用于将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标;
漏洞确定模块606,用于若接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标存在所述目标验证组件对应的漏洞种类的漏洞;
漏洞验证模块608,用于采用所述目标验证组件,验证所述漏洞是否能被利用。
在一示例性实施例中,所述漏洞利用程序发送模块604,还用于:确定所述漏洞目标中的交互对象;所述交互对象具有对应的对象信息;向所述漏洞目标发送携带所述对象信息和所述漏洞利用程序的检测请求;所述漏洞目标用于将所述漏洞利用程序分别注入至所述对象信息对应的所述交互对象,以使所述交互对象被触发时,执行所述漏洞利用程序。
在一示例性实施例中,所述装置还可以包括:
注入失败信息接收模块,用于在所述漏洞目标将所述漏洞利用程序注入至所述对象信息对应的所述交互对象失败时,接收到所述漏洞目标发送的注入失败的提示信息;
交互对象漏洞确定模块,用于根据所述注入失败的提示信息,确定所述漏洞目标对应的所述交互对象不存在漏洞。
在一示例性实施例中,所述装置还可以包括:
响应信息监听模块,用于监听所述漏洞目标针对所述检测请求发送的响应消息;
访问请求确定模块,用于确定所述响应消息中是否存在所述漏洞目标向所述检测链接地址发送的访问请求。
在一示例性实施例中,所述装置还可以包括:
漏洞确定子模块,用于若没有接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标不存在所述目标验证组件对应的漏洞种类的漏洞。
在一示例性实施例中,所述验证组件包括利用代码以及所述利用代码对应的验证数据;所述利用代码用于尝试触发所述漏洞,所述验证数据用于当所述漏洞被触发时,验证所述漏洞是否能被利用,所述漏洞验证模块608,还用于:获取所述目标验证组件对应的目标利用代码和目标验证数据;向所述漏洞发送携带所述目标利用代码的利用请求,以使所述漏洞执行所述目标利用代码并产生对应的执行数据;接收所述漏洞发送的所述执行数据;若所述执行数据与所述目标验证数据相同,则确定所述漏洞能够被利用。
在一示例性实施例中,所述漏洞目标至少可以包括网站和应用程序的其中一种,所述交互对象至少包括按钮控件、输入控件和显示控件中的其中一种。
在一示例性实施例中,所述漏洞辅助验证平台支持多种通信协议,所述漏洞利用程序发送模块604,还用于:从所述通信协议中确定所述漏洞目标支持的目标通信协议;在将所述检测链接地址添加至预设的漏洞利用程序中后,基于所述目标通信协议发送至所述漏洞目标;其中,所述通信协议至少包括域名系统协议、超文本传输协议、轻型目录访问协议、远程方法调用协议和Java数据库连接协议中的其中一种。
综上可知,本发明实施例可以根据漏洞种类灵活配置漏洞检测任务,使用户可以不编写或编写少量代码即可检测漏洞目标是否存在漏洞,以及验证漏洞是否能被利用,减少了漏洞检测的工作量,提高了漏洞检测的效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述漏洞检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述漏洞检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述漏洞检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图7为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710、以及电源711等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器710处理;另外,将上行的数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元703可以将射频单元701或网络模块702接收的或者在存储器709中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元703还可以提供与电子设备700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元703包括扬声器、蜂鸣器以及受话器等。
输入单元704用于接收音频或视频信号。输入单元704可以包括图形处理器(Graphics Processing Unit,GPU)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元706上。经图形处理器7041处理后的图像帧可以存储在存储器709(或其它存储介质)中或者经由射频单元701或网络模块702进行发送。麦克风7042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。
电子设备700还包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7061的亮度,接近传感器可在电子设备700移动到耳边时,关闭显示面板7061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元706用于显示由用户输入的信息或提供给用户的信息。显示单元706可包括显示面板7061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板7061。
用户输入单元707可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板7071上或在触控面板7071附近的操作)。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器710,接收处理器710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7071。除了触控面板7071,用户输入单元707还可以包括其他输入设备7072。具体地,其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板7071可覆盖在显示面板7061上,当触控面板7071检测到在其上或附近的触摸操作后,传送给处理器710以确定触摸事件的类型,随后处理器710根据触摸事件的类型在显示面板7061上提供相应的视觉输出。虽然在图7中,触控面板7071与显示面板7061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板7071与显示面板7061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元708为外部装置与电子设备700连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元708可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备700内的一个或多个元件或者可以用于在电子设备700和外部装置之间传输数据。
存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器710是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器709内的软件程序和/或模块,以及调用存储在存储器709内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器710可包括一个或多个处理单元;优选的,处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
电子设备700还可以包括给各个部件供电的电源711(比如电池),优选的,电源711可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备700包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种漏洞检测方法,其特征在于,应用于漏洞辅助验证平台,所述漏洞辅助验证平台中包括至少一个验证组件,所述验证组件分别用于验证对应的漏洞种类,所述方法包括:
响应于对所述验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与所述目标验证组件绑定的检测链接地址;
将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标;
若接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标存在所述目标验证组件对应的漏洞种类的漏洞;
采用所述目标验证组件,验证所述漏洞是否能被利用。
2.根据权利要求1所述的方法,其特征在于,所述发送至所述漏洞目标,包括:
确定所述漏洞目标中的交互对象;所述交互对象具有对应的对象信息;
向所述漏洞目标发送携带所述对象信息和所述漏洞利用程序的检测请求;所述漏洞目标用于将所述漏洞利用程序分别注入至所述对象信息对应的所述交互对象,以使所述交互对象被触发时,执行所述漏洞利用程序。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述漏洞目标将所述漏洞利用程序注入至所述对象信息对应的所述交互对象失败时,接收到所述漏洞目标发送的注入失败的提示信息;
根据所述注入失败的提示信息,确定所述漏洞目标对应的所述交互对象不存在漏洞。
4.根据权利要求2所述的方法,其特征在于,所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标之后,所述方法还包括:
监听所述漏洞目标针对所述检测请求发送的响应消息;
确定所述响应消息中是否存在所述漏洞目标向所述检测链接地址发送的访问请求。
5.根据权利要求1所述的方法,其特征在于,在所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标之后,所述方法还包括:
若没有接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标不存在所述目标验证组件对应的漏洞种类的漏洞。
6.根据权利要求1所述的方法,其特征在于,所述验证组件包括利用代码以及所述利用代码对应的验证数据;所述利用代码用于尝试触发所述漏洞,所述验证数据用于当所述漏洞被触发时,验证所述漏洞是否能被利用,所述采用所述目标验证组件,验证所述漏洞是否能被利用,包括:
获取所述目标验证组件对应的目标利用代码和目标验证数据;
向所述漏洞发送携带所述目标利用代码的利用请求,以使所述漏洞执行所述目标利用代码并产生对应的执行数据;
接收所述漏洞发送的所述执行数据;
若所述执行数据与所述目标验证数据相同,则确定所述漏洞能够被利用。
7.根据权利要求2所述的方法,其特征在于,所述漏洞目标至少包括网站和应用程序的其中一种,所述交互对象至少包括按钮控件、输入控件和显示控件中的其中一种。
8.根据权利要求1所述的方法,其特征在于,所述漏洞辅助验证平台支持多种通信协议,所述将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标,包括:
从所述通信协议中确定所述漏洞目标支持的目标通信协议;
在将所述检测链接地址添加至预设的漏洞利用程序中后,基于所述目标通信协议发送至所述漏洞目标;
其中,所述通信协议至少包括域名系统协议、超文本传输协议、轻型目录访问协议、远程方法调用协议和Java数据库连接协议中的其中一种。
9.一种漏洞检测装置,其特征在于,应用于漏洞辅助验证平台,所述漏洞辅助验证平台中包括至少一个验证组件,所述验证组件分别用于验证对应的漏洞种类,所述装置包括:
检测链接地址生成模块,用于响应于对所述验证组件的选择操作,确定针对漏洞目标的目标验证组件,生成与所述目标验证组件绑定的检测链接地址;
漏洞利用程序发送模块,用于将所述检测链接地址添加至预设的漏洞利用程序中,并发送至所述漏洞目标;
漏洞确定模块,用于若接收到所述漏洞利用程序在所述漏洞目标被执行时,触发所述漏洞目标向所述检测链接地址发送的访问请求,则确定所述漏洞目标存在所述目标验证组件对应的漏洞种类的漏洞;
漏洞验证模块,用于采用所述目标验证组件,验证所述漏洞是否能被利用。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1至8任一项所述的方法。
11.一种计算机可读可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-8任一项所述的方法。
CN202210480039.2A 2022-05-05 2022-05-05 漏洞检测方法、装置、电子设备及可读存储介质 Pending CN114884722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210480039.2A CN114884722A (zh) 2022-05-05 2022-05-05 漏洞检测方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210480039.2A CN114884722A (zh) 2022-05-05 2022-05-05 漏洞检测方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114884722A true CN114884722A (zh) 2022-08-09

Family

ID=82674158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210480039.2A Pending CN114884722A (zh) 2022-05-05 2022-05-05 漏洞检测方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114884722A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761208A (zh) * 2005-11-17 2006-04-19 郭世泽 网络信息系统的安全性及生存性评估的系统和方法
CN108416216A (zh) * 2018-02-28 2018-08-17 阿里巴巴集团控股有限公司 漏洞检测方法、装置及计算设备
CN109325351A (zh) * 2018-08-23 2019-02-12 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统
EP3916598A1 (en) * 2020-05-26 2021-12-01 Argus Cyber Security Ltd System and method for detecting exploitation of a vulnerability of software
CN114357457A (zh) * 2021-12-22 2022-04-15 绿盟科技集团股份有限公司 漏洞检测方法、装置、电子设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761208A (zh) * 2005-11-17 2006-04-19 郭世泽 网络信息系统的安全性及生存性评估的系统和方法
CN108416216A (zh) * 2018-02-28 2018-08-17 阿里巴巴集团控股有限公司 漏洞检测方法、装置及计算设备
CN109325351A (zh) * 2018-08-23 2019-02-12 中通服咨询设计研究院有限公司 一种基于众测平台的安全漏洞自动化验证系统
EP3916598A1 (en) * 2020-05-26 2021-12-01 Argus Cyber Security Ltd System and method for detecting exploitation of a vulnerability of software
CN114357457A (zh) * 2021-12-22 2022-04-15 绿盟科技集团股份有限公司 漏洞检测方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
TWI606360B (zh) 一種網頁檢測方法、裝置和系統
CN108989266B (zh) 一种防止网页劫持的处理方法和客户端以及服务器
CN109558734B (zh) 一种堆栈安全性的检测方法及装置、移动设备
CN108510022B (zh) 一种二维码生成、验证方法及服务器
WO2015158300A1 (en) Methods and terminals for generating and reading 2d barcode and servers
CN110704328B (zh) 接口测试方法、装置、电子设备及可读存储介质
CN110457888B (zh) 一种验证码输入方法、装置、电子设备及存储介质
CN110224920B (zh) 一种分享方法及终端设备
CN111598573B (zh) 一种设备指纹验证方法及装置
CN109271779A (zh) 一种安装包检测方法、终端设备及服务器
CN107347059B (zh) 一种漏洞检测的方法及检测终端
CN111597540B (zh) 应用程序的登录方法、电子设备及可读存储介质
CN111372205A (zh) 信息提示方法及电子设备
CN111314085A (zh) 数字证书验证方法及装置
CN109639706B (zh) 一种请求处理方法、服务器、客户端、系统、电子设备及计算机可读存储介质
CN113238868B (zh) 任务处理方法、装置、服务器、设备、系统及存储介质
CN110445746B (zh) cookie获取方法、装置及存储设备
CN111209031B (zh) 一种数据获取方法、装置、终端设备及存储介质
CN113221150A (zh) 一种数据防护方法及装置
CN111159738B (zh) 权限配置方法、应用登录方法及装置
CN111556178A (zh) 一种解析系统、方法、设备及存储介质
CN108494754B (zh) 一种账户信息处理方法及移动终端
WO2015062326A1 (zh) 页面访问控制方法、装置及系统
CN114884722A (zh) 漏洞检测方法、装置、电子设备及可读存储介质
CN108737341B (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