本发明涉及网络安全,尤其涉及一种漏洞检测方法、装置、终端设备以及存储介质。
背景技术:
1、互联网技术日新月异,网络安全漏洞类型也是层出不穷,即使同一种漏洞类型,其攻击方法也是变幻莫测,检测规则也需要随之应变。其中远程代码执行漏洞是一种使用互联网在目标机器或系统中远程注入和执行代码的方法。
2、传统的漏洞扫描软件对远程代码执行类漏洞(如fastjson反序列化远程代码执行、log4j2任意代码执行、spring远程命令执行等)检测的支持度较低,因这类漏洞利用复杂,需要都是通过人工渗透确认,传统漏洞扫描软件无法覆盖远程代码执行类漏洞。
3、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本申请的主要目的在于提供一种漏洞检测方法、装置、终端设备以及存储介质,旨在解决传统漏洞检测无法覆盖远程代码执行类漏洞,需要人工渗透确认的问题。
2、为实现上述目的,本申请提供一种漏洞检测方法,所述漏洞检测方法应用于漏洞扫描器,包括以下步骤:
3、获取漏洞检测请求报文;
4、将所述漏洞检测请求报文发送至应用服务器,由所述应用服务器执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统;
5、读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果。
6、可选地,所述获取漏洞检测请求报文的步骤包括:
7、获取所述应用服务器的历史请求报文;
8、基于预先构建的漏洞规则库,获取所述历史请求报文对应的请求报文组装规则;
9、根据所述请求报文组装规则,对所述历史请求报文进行重组装,获取漏洞检测请求报文。
10、可选地,所述将所述漏洞检测请求报文发送至应用服务器,由所述应用服务器执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统的步骤之前还包括:
11、对所述漏洞检测请求报文进行检测分析,获取分析结果;
12、若所述分析结果为单请求模式,则将所述漏洞检测请求报文发送至所述应用服务器,由所述应用服务器根据所述漏洞检测请求报文,获取响应结果;
13、读取所述应用服务器中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果;
14、若所述分析结果为多请求模式,则执行步骤:将所述漏洞检测请求报文发送至应用服务器,由所述应用服务器执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统。
15、可选地,所述读取所述应用服务器中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果的步骤之后还包括:
16、根据所述漏洞检测结果,判断所述应用服务器是否存在所述漏洞检测请求报文对应的漏洞类型;
17、若所述应用服务器存在所述漏洞类型,则将所述应用服务器结合所述漏洞类型进行漏洞存储。
18、可选地,所述读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果的步骤包括:
19、读取所述漏洞回显系统中的响应结果;
20、基于所述漏洞规则库,获取所述漏洞检测请求报文对应的响应报文检测规则;
21、基于所述响应报文检测规则,根据所述响应结果进行漏洞检测,获取漏洞检测结果。
22、所述漏洞检测方法应用于应用服务器,包括以下步骤:
23、接收漏洞扫描器发送的漏洞检测请求报文;
24、执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统,由所述漏洞扫描器读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果。
25、可选地,所述漏洞检测请求报文对应的漏洞类型为任意代码执行漏洞,所述执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统,由所述漏洞扫描器读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果的步骤包括:
26、根据所述漏洞检测请求报文,获取检测随机值;
27、若所述应用服务器存在所述任意代码执行漏洞,则根据所述检测随机值,通过所述任意代码执行漏洞执行所述可执行代码,获取响应结果;
28、通过有效载荷将所述响应结果发送至所述漏洞回显系统,由所述漏洞扫描器读取所述漏洞回显系统中的响应结果,并根据所述响应结果中的检测随机值和所述漏洞回显系统中的预设检测随机值,获取漏洞检测结果。
29、本申请实施例还提出一种漏洞检测装置,所述漏洞检测装置包括:
30、请求获取模块,用于获取漏洞检测请求报文;
31、请求执行模块,用于将所述漏洞检测请求报文发送至应用服务器,由所述应用服务器执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统;
32、漏洞检测模块,用于读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果。
33、本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的漏洞检测程序,所述漏洞检测程序被所述处理器执行时实现如上所述的漏洞检测方法的步骤。
34、本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有漏洞检测程序,所述漏洞检测程序被处理器执行时实现如上所述的漏洞检测方法的步骤。
35、本申请实施例提出的漏洞检测方法、装置、终端设备以及存储介质,获取漏洞检测请求报文;将所述漏洞检测请求报文发送至应用服务器,由所述应用服务器执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统;读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果。本发明通过将获取到的漏洞检测请求报文发送至应用服务器,应用服务器执行漏洞检测请求报文中的可执行代码,再将执行得到的响应结果发送至漏洞回显系统,读取漏洞回显系统中的响应结果,根据响应结果进行漏洞检测,得到漏洞检测的结果,实现了代码执行类漏洞的漏洞检测,解决了传统漏洞检测无法覆盖代码执行类漏洞,需要人工渗透确认的问题,提高了漏洞检测的效率及准确性。
1.一种漏洞检测方法,其特征在于,所述漏洞检测方法应用于漏洞扫描器,包括以下步骤:
2.如权利要求1所述的漏洞检测方法,其特征在于,所述获取漏洞检测请求报文的步骤包括:
3.如权利要求1所述的漏洞检测方法,其特征在于,所述将所述漏洞检测请求报文发送至应用服务器,由所述应用服务器执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统的步骤之前还包括:
4.如权利要求3所述的漏洞检测方法,其特征在于,所述读取所述应用服务器中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果的步骤之后还包括:
5.如权利要求2所述的漏洞检测方法,其特征在于,所述读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果的步骤包括:
6.一种漏洞检测方法,其特征在于,所述漏洞检测方法应用于应用服务器,包括以下步骤:
7.如权利要求6所述的漏洞检测方法,其特征在于,所述漏洞检测请求报文对应的漏洞类型为任意代码执行漏洞,所述执行所述漏洞检测请求报文中的可执行代码,获取响应结果,并将所述响应结果发送至漏洞回显系统,由所述漏洞扫描器读取所述漏洞回显系统中的响应结果,并根据所述响应结果进行漏洞检测,获取漏洞检测结果的步骤包括:
8.一种漏洞检测装置,其特征在于,所述装置包括:
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的漏洞检测程序,所述漏洞检测程序配置为实现如权利要求1至7中任一项所述的漏洞检测方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有漏洞检测程序,所述漏洞检测程序被处理器执行时实现如权利要求1至7任一项所述的漏洞检测方法的步骤。