发明内容
本发明实施例提供了一种验证系统漏洞的方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种验证系统漏洞的方法,包括:采集渗透目标的相关信息,其中,所述渗透目标为通过网络连接的网络系统;使用所述相关信息探测所述渗透目标的对外漏洞;查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在。
可选的,根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在包括:在所述注入点和/或所述代码执行漏洞中远程获取外带数据;通过所述外带数据验证所述对外漏洞是否存在。
可选的,通过所述外带数据验证所述对外漏洞是否存在包括:利用应用程序编程接口API接口编写漏洞利用插件,使用所述漏洞利用插件自动化验证所述对外漏洞是否存在。
可选的,在注入点或者代码执行漏洞中远程获取外带数据包括:在注入点或者代码执行漏洞中通过超文本传输协议HTTP协议获取以下信息至少之一:完整HTTP请求头信息、源IP地址、传送POST数据、原始的IP地址的HTTP请求头字段X-Forwarded-For、用户代理User-Agent信息。
可选的,在注入点或者代码执行漏洞中远程获取外带数据包括:在注入点或者代码执行漏洞中通过域名系统DNS协议获取以下信息至少之一:源IP地址、解析类型信息。
可选的,根据所述注入点验证所述对外漏洞是否存在包括:向所述网络系统的服务器发送云服务请求,以使所述服务器向数据接收平台发送云服务请求,其中,所述云服务请求携带SQL注入命令;在登录所述数据接收平台后,若接收到所述数据接收平台反馈的SQL注入结果,确定所述对外漏洞存在;若未接收到所述数据接收平台反馈的SQL注入结果,确定所述对外漏洞不存在。
可选的,在验证所述对外漏洞是否存在之后,所述方法还包括:在确定所述对外漏洞存在时,利用所述对外漏洞获取所述渗透目标的操作权限;使用所述操作权限执行渗透检测操作。
根据本发明的另一个实施例,提供了一种验证系统漏洞的装置,包括:采集模块,用于采集渗透目标的相关信息,其中,所述渗透目标为通过网络连接的网络系统;探测模块,用于使用所述相关信息探测所述渗透目标的对外漏洞;查找模块,用于查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;验证模块,用于根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在。
可选的,所述验证模块包括:获取单元,用于在所述注入点和/或所述代码执行漏洞中远程获取外带数据;验证单元,用于通过所述外带数据验证所述对外漏洞是否存在。
可选的,所述验证单元包括:编写子单元,用于利用应用程序编程接口API接口编写漏洞利用插件;验证子单元,用于使用所述漏洞利用插件自动化验证所述对外漏洞是否存在。
可选的,所述获取单元包括:第一获取子单元,用于在注入点或者代码执行漏洞中通过超文本传输协议HTTP协议获取以下信息至少之一:完整HTTP请求头信息、源IP地址、传送POST数据、原始的IP地址的HTTP请求头字段X-Forwarded-For、用户代理User-Agent信息。
可选的,所述获取单元包括:第二获取子单元,用于在注入点或者代码执行漏洞中通过域名系统DNS协议获取以下信息至少之一:源IP地址、解析类型信息。
可选的,所述验证模块包括:发送单元,用于向所述网络系统的服务器发送云服务请求,以使所述服务器向数据接收平台发送云服务请求,其中,所述云服务请求携带SQL注入命令;确定单元,用于在登录所述数据接收平台后,若接收到所述数据接收平台反馈的SQL注入结果,确定所述对外漏洞存在;若未接收到所述数据接收平台反馈的SQL注入结果,确定所述对外漏洞不存在。
可选的,所述装置还包括:获取模块,用于在所述验证模块验证所述对外漏洞是否存在之后,在确定所述对外漏洞存在时,利用所述对外漏洞获取所述渗透目标的操作权限;执行模块,用于使用所述操作权限执行渗透检测操作。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,采集渗透目标的相关信息,使用相关信息探测渗透目标的对外漏洞,根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在,解决了相关技术中渗透触达率低的技术问题。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在计算机设备或者类似的运算装置中执行。以运行在计算机设备上为例,图1是本发明实施例的一种验证系统漏洞的计算机设备的硬件结构框图。如图1所示,计算机设备10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机设备的结构造成限定。例如,计算机设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种验证系统漏洞的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种验证系统漏洞的方法,图2是根据本发明实施例的一种验证系统漏洞的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,采集渗透目标的相关信息,其中,渗透目标为通过网络连接的网络系统;
本实施例的渗透目标是由硬件、软件和网络构成的网络系统,运行在局域网或者广域网内,可以通过交换机、防火墙等与广域网隔离,网络系统包括电子设备和数据程序,网络系统包括服务器、数据库,业务系统,接入网络的电子设备,电子设备安装的操作系统等,应用在各种场景,如保密性较强或安全需求较强的单位。
本实施例中渗透目标的相关信息包括域名资产信息,IP地址信息,网络系统的服务器的开放端口信息和开放服务信息,网络系统的构架信息,网络系统的web目录信息,以及所述渗透目标的外网信息等。
步骤S204,使用相关信息探测渗透目标的对外漏洞;
本实施例的漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统,本实施例的对外漏洞为可以被第三方设备利用的网络系统的缺陷。
步骤S206,查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;
步骤S208,根据所述注入点和/或所述代码执行漏洞验证对外漏洞是否存在。
如果验证对外漏洞不存在,则不选用该对外漏洞进行渗透攻击,如果存在,则可以选用该对外漏洞来进行渗透攻击。
通过上述步骤,采集渗透目标的相关信息,使用相关信息探测渗透目标的对外漏洞,根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在,解决了相关技术中渗透触达率低的技术问题。
本实施例的执行主体可以是电脑,平板等电子设备,该电子设备连接在渗透目标所在的局域网,或者连接在广域网内。
本实施例中,通过外带数据来验证漏洞是否存在,根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在包括:
S11,在注入点和/或代码执行漏洞中远程获取外带数据;
在本实施例的一个示例中,在注入点或者代码执行漏洞中远程获取外带数据包括:在注入点或者代码执行漏洞中通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)协议获取以下信息至少之一:完整HTTP请求头信息、源IP地址、传送POST数据、原始的IP地址的HTTP请求头字段X-Forwarded-For、用户代理User-Agent信息。
在本实施例的另一个示例中,在注入点或者代码执行漏洞中远程获取外带数据包括:在注入点或者代码执行漏洞中通过域名系统(Domain Name System,DNS)协议获取以下信息至少之一:源IP地址、解析类型信息。
S12,通过外带数据验证对外漏洞是否存在。
通过获取外带数据,在漏洞利用无法直接拿到回显数据时,可以使用外带数据来验证漏洞是否存在,避免了盲注,缩短了渗透时间,提高了渗透效率。
在本实施例的一个可选实施方式中,通过外带数据验证对外漏洞是否存在包括:利用应用程序编程接口(Application Programming Interface,API)接口编写漏洞利用插件,使用漏洞利用插件自动化验证对外漏洞是否存在。
通过远程获取外带数据,可以在注入点或者代码执行漏洞中利用HTTP、DNS协议等获取外带数据。其中,HTTP协议支持获取完整HTTP请求头信息、源IP、POST数据、X-Forwarded-For、User-Agent等信息。DNS协议支持获取通过DNS协议外带数据、源IP、解析类型等信息。在渗透过程中,将外带数据作为漏洞利用的结果。同时还提供API接口,可以利用API接口编写漏洞利用插件,自动化验证该漏洞是否存在。
图3是本发明实施例验证漏洞的流程示意图,图3中,模拟的攻击者为渗透测试侧,服务器为渗透目标侧,首先向服务器发起SQL(结构化查询语言,Structured QueryLanguage)注入攻击,服务器收到伪装的SQL注入命令后,向数据接收平台发送HTTP/DNS,攻击者的终端登录到数据接收平台,进而获取到SQL注入结果。
本实施例的SQL注入是通过把SQL命令插入到Web表单提交或输入域名或页面请求等的查询字符串,最终达到欺骗服务器执行SQL命令。可以通过在Web表单中输入SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
在本实施例的一个可选实施方式中,根据所述注入点验证对外漏洞是否存在包括:
S21,向网络系统的服务器发送云服务请求,以使服务器向数据接收平台发送云服务请求,其中,云服务请求携带结构化查询语言SQL注入命令;
S22,在登录数据接收平台后,若接收到数据接收平台反馈的SQL注入结果,确定对外漏洞存在;若未接收到数据接收平台反馈的SQL注入结果,确定对外漏洞不存在。
在本实施例中,在验证所述对外漏洞是否存在之后,还包括:在确定所述对外漏洞存在时,利用所述对外漏洞获取所述渗透目标的操作权限;使用所述操作权限执行渗透检测操作,其中,所述渗透检测操作包括以下至少之一:访问所述渗透目标的业务系统,访问所述渗透目标的本地数据,在所述渗透目标的内网进行横向渗透。本实施例的业务系统包括网站服务器,数据库等,如频繁访问网站服务器,频繁发送相同的指令等,在业务系统超过处理上限时,有可能会导致宕机或崩溃,本实施例的本地数据包括局域网内可分享的数据,以及通过局域网连接的各个设备内保存的数据等。
本实施例对探测到的可利用的漏洞进行封装,把复杂的漏洞利用过程集成到插件库中,在需要进行漏洞利用时,即可执行响应的输入一键获取回显结果,比如执行系统命令,对于用户而言只需要输入想要执行的命令,点击执行按钮(或者系统自动触发),即可获取命令执行结果,不需要关心漏洞的复杂利用过程。例如,发现weblogic反序列化漏洞后可以直接通过高级利用功能执行命令、上传文件、反弹交互shell等操作。渗透人员只需要输入目标地址,即可一键进行漏洞的发现和利用过程。针对一些无法完全自动化发现的漏洞提供了单独漏洞利用的功能,渗透人员只需要输入相应的参数即可一键利用漏洞,例如对fastjson漏洞的利用。同时也可用于已知漏洞的利用,比如输入oracle账号密码、一键提权、执行系统命令等。此功能大大简化了漏洞利用过程。
本实施例通过向渗透目标发送渗透指令来执行渗透操作,在将渗透指令发送至渗透目标的目标服务器之前,需要经过渗透目标的网关和防护系统,包括WAF,IDS(IntrusionDetection System,入侵检测系统),IPS(Intrusion Prevention System,入侵防御系统),监控设备,路由器,交换机。在底层的发包程序中添加绕过WAF的各种手段,并根据目标情况自动选择过WAF的方法,包括:1.采用在数据包头部填充大量无用数据绕过资源限制检测类型WAF;2.采用编码、变形、同类型函数替换、注释符处理、分词、数据库语法特性绕过规则检测类型WAF;3.采用协议转换、协议格式变化、更换协议绕过协议层面检测类型WAF;4.采用自主发现的数据包分片传输技术绕过WAF。分片传输是把待发送的数据每三个字节分割成多个数据包,单独发送到目标服务器上,从而躲避根据数据包内容匹配的检测手段,并且在发送HTTP数据包的底层程序中嵌入本实施例的分片技术。
在本实施例中,在利用所述对外漏洞获取所述渗透目标的操作权限之后,还包括:将所述对外漏洞确定为所述局域网的危险入口,所述操作权限确定为所述网络系统的非法权限,生成所述渗透目标的渗透测试报告。
图4是本发明实施例任务节点针对渗透目标的攻击线路图,示意了从信息收集到后渗透攻击(横向渗透)的流程走向,每个任务节点都可以执行渗透测试。在本实施例中,各个功能的实现可以通过设置在渗透设备内的功能模块来实现,包括:
信息收集模块:在渗透测试之前,使用各种线上手段来收集渗透目标的相关信息。信息收集模块主要是完成对渗透目标的信息收集。
漏洞探测模块:该模块能够对渗透目标进行自动化的漏洞探测。漏洞探测分为两种方式,网站URL探测方式和IP地址探测方式。网站URL探测方式是通过对目标进行指纹识别,收集中间件、通用网站框架、开发语言、操作系统等指纹信息,从插件库中寻找与之相关的漏洞插件发现存在的漏洞。IP地址探测方式是对目标进行端口扫描,发现对外开放的服务,识别对应的服务类型,寻找与之相关的漏洞插件,从而判断漏洞是否存在。
漏洞插件库目前包含7000多个漏洞插件,漏洞范围覆盖Web、中间件、数据库、网络设备、操作系统、智能设备、移动终端、工控设备等系统。能够发现不限于SQL(结构化查询语言)注入、XXE(Xml外部实体注入)、XSS(跨站脚本攻击)、任意文件上传、任意文件下载、任意文件操作、信息泄露、弱口令、本地文件包含、目录遍历、命令执行、错误配置等类型的漏洞。部分插件还提供了一键漏洞利用的高级功能。高级功能包括:执行命令、执行SQL、上传文件、反弹Shell、上传GTWebshell、下载文件等。漏洞插件库由360拥有多年渗透经验人员进行维护。
Web指纹库可识别600多种CMS(内容管理系统),总规则数量达到2000多个。系统服务指纹集成NMAP工具指纹库,能够满足常规系统服务的类型和版本识别。支持场景化检测,可以根据需求快速定制至少包含常规测试、攻防演练、靶场演练、安全能力评估等场景,从而达到定制化场景漏洞发现的需求。单次任务不限制添加目标数量,任务能够分布式的并发执行,从而保证高效率的发现漏洞。
漏洞利用模块:漏洞利用模块用于解决两个问题:一是针对一些无法完全自动化发现的漏洞提供单独漏洞利用功能;例如,在一些无法通过爬虫或者其他手段自动获取到目标地址时,渗透人员利用此模块只需要手动填写相应的参数即可一键利用漏洞。二是可直接探测指定的漏洞是否存在并进一步利用此漏洞。此功能可以把复杂的漏洞利用过程简单化,比如输入oracle账号密码,一键提权、执行系统命令等。另外,此模块也提供漏洞利用的高级功能,包括执行命令、执行SQL、上传文件、反弹Shell、上传GTWebshell、下载文件等,均可以利用该模块进行漏洞利用。
后渗透模块:通过后渗透模块对目标进行横向渗透。例如:发现内网的网络拓扑情况、发现内网数据库漏洞、发现邮件服务器所在的位置,甚至获取办公网段、运维主机或者域控制器的权限。后渗透模块包含远程控制系统,可以对windows、linux、unix、android、ios、aix、bsd、cisco、osx等16种平台进行控制,支持X86、X64、arm、sparc、ppc等30多种框架。对于被控端,支持多种格式被控端的生成,包括可执行文件格式。例如exe、elf、powershell、vbs、dll等20多种,以及原始Shellcode的生成。通过其他漏洞打下的外网脆弱点连接后渗透模块,利用后渗透插件,即可实现主机信息收集、主机提权、内网网络拓扑发现、主机取证、密码获取、系统截图、键盘记录等功能。
插件管理模块:根据相关文档快速的编写插件,工具还提供代码自动生成功能方便插件的编写。插件库管理支持随时提交、导入新插件,利用动态导入加载技术,实现无延迟载入新插件。为了保证插件的有效性和准确性,提供了插件的启用、禁用操作功能方便随时配置插件库规则。为了更好的维护插件库增添了插件的审核机制,保证插件库里面的插件都是优质的插件。具备完善的插件库管理功能,可以提交插件、查看插件列表、审查插件。
指纹管理模块:指纹管理主要为了维护指纹库而设计,可以在该页面查看所有的指纹库中的规则信息。指纹管理模块提供提交指纹功能,方便渗透人员随时添加指纹信息。利用动态导入技术,可以实现无延迟载入新指纹到指纹库中。添加指纹规则支持Web通用框架、中间件、开发语言、第三方框架等。识别手段支持字符串、MD5、数据包头、特殊页面状态码等方式。为了更好的维护指纹库,增添了指纹的审核机制,保证指纹库里面的插件都是优质的指纹规则。指纹管理包含提交指纹、指纹列表、审查指纹功能。
WAF绕过技术模块:很多WAF(网站应用级入侵防御系统,Web ApplicationFirewall)防护设备被部署在网络节点中,本模块用于绕过防护设备。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种验证系统漏洞的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的验证系统漏洞的装置的结构框图,如图5所示,该装置包括:采集模块50,探测模块52,查找模块54,验证模块56,其中,
采集模块50,用于采集渗透目标的相关信息,其中,所述渗透目标为通过网络连接的网络系统;
探测模块52,用于使用所述相关信息探测所述渗透目标的对外漏洞;
查找模块54,用于查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;
验证模块56,用于根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在。
可选的,所述验证模块包括:查找单元,用于查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;获取单元,用于在所述注入点和/或所述代码执行漏洞中远程获取外带数据;验证单元,用于通过所述外带数据验证所述对外漏洞是否存在。
可选的,所述验证单元包括:编写子单元,用于利用应用程序编程接口API接口编写漏洞利用插件;验证子单元,用于使用所述漏洞利用插件自动化验证所述对外漏洞是否存在。
可选的,所述获取单元包括:第一获取子单元,用于在注入点或者代码执行漏洞中通过超文本传输协议HTTP协议获取以下信息至少之一:完整HTTP请求头信息、源IP地址、传送POST数据、原始的IP地址的HTTP请求头字段X-Forwarded-For、用户代理User-Agent信息。
可选的,所述获取单元包括:第二获取子单元,用于在注入点或者代码执行漏洞中通过域名系统DNS协议获取以下信息至少之一:源IP地址、解析类型信息。
可选的,所述验证模块包括:发送单元,用于向所述网络系统的服务器发送云服务请求,以使所述服务器向数据接收平台发送云服务请求,其中,所述云服务请求携带SQL注入命令;确定单元,用于在登录所述数据接收平台后,若接收到所述数据接收平台反馈的SQL注入结果,确定所述对外漏洞存在;若未接收到所述数据接收平台反馈的SQL注入结果,确定所述对外漏洞不存在。
可选的,所述装置还包括:获取模块,用于在所述验证模块验证所述对外漏洞是否存在之后,在确定所述对外漏洞存在时,利用所述对外漏洞获取所述渗透目标的操作权限;执行模块,用于使用所述操作权限执行渗透检测操作,其中,所述渗透操作包括以下至少之一:访问所述渗透目标的业务系统,访问所述渗透目标的本地数据,在所述渗透目标的内网进行横向渗透。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,采集渗透目标的相关信息,其中,所述渗透目标为通过网络连接的网络系统;
S2,使用所述相关信息探测所述渗透目标的对外漏洞;
S3,查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;
S4,根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,采集渗透目标的相关信息,其中,所述渗透目标为通过网络连接的网络系统;
S2,使用所述相关信息探测所述渗透目标的对外漏洞;
S3,查找所述网络系统的数据库的注入点,或者,查找所述网络系统的指定函数的代码执行漏洞;
S4,根据所述注入点和/或所述代码执行漏洞验证所述对外漏洞是否存在。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。