CN112910849B - 一种漏洞检测方法、装置、设备及存储介质 - Google Patents
一种漏洞检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112910849B CN112910849B CN202110057013.2A CN202110057013A CN112910849B CN 112910849 B CN112910849 B CN 112910849B CN 202110057013 A CN202110057013 A CN 202110057013A CN 112910849 B CN112910849 B CN 112910849B
- Authority
- CN
- China
- Prior art keywords
- test
- identification information
- scanning
- address
- different
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种漏洞检测方法、装置、设备及存储介质,应用于信息安全技术领域,可以包括:接收多个测试请求,测试请求携带标识信息;标识信息用于标识测试请求中域名和IP地址的绑定关系;IP地址表示待进行漏洞检测的地址;针对各个测试请求,分别根据测试请求携带的标识信息,确定标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;将测试请求保存至标识信息对应的扫描队列;分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。如此,能够减少漏洞检测过程中的漏检。
Description
技术领域
本发明涉及信息安全技术领域,特别是涉及一种漏洞检测方法、装置、设备及存储介质。
背景技术
随着对信息安全的重视程度,信息安全是越来越重要的内容,而漏洞检测是信息安全的重要部分。目前还存在着通过人工检测的方式实现漏洞检测,而人工检测耗时耗力,存在检测出的漏洞个数以及漏洞的危害程度,与所投入的人力不匹配的问题。而通过测试这一环节,就有可能将漏洞在开发流程的早期阶段进行捕获,同时也可以减少安全人员的压力。
已有方式中,测试人员创建测试项目,在测试项目中,测试人员通过HOST绑定来配置域名与网络互联协议(Internet Protocol,IP)地址的对应关系,以期望通过该域名访问对应的IP实现漏洞检测。
不同的测试人员在创建的测试项目中,有可能为同一域名配置不同的IP而进行漏洞检测,而当同一域名对应多个IP时,在测试请求解析过程中有可能存在遗漏。例如,测试人员A配置域名1对应IP1,测试人员B配置域名1对应IP2,有可能将域名1对应IP1所对应的测试请求解析为域名1对应IP2所对应的测试请求,而遗漏域名1对应IP1所对应的测试请求,如此会导致遗漏针对域名1对应IP1对应的测试请求的检测。
发明内容
本发明实施例的目的在于提供一种漏洞检测方法、装置、设备及存储介质,以减少漏洞检测过程中的漏检。具体技术方案如下:
第一方面,本发明实施例提供了一种漏洞检测方法,包括:
接收多个测试请求,所述测试请求携带标识信息;所述标识信息用于标识所述测试请求中域名和IP地址的绑定关系;所述IP地址表示待进行漏洞检测的地址;
针对各个测试请求,分别根据所述测试请求携带的标识信息,确定所述标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;
将所述测试请求保存至所述标识信息对应的扫描队列;
分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
可选的,所述标识信息为代理地址,所述代理地址是根据用户输入的配置信息反馈至用户的;
所述根据所述测试请求携带的标识信息,确定所述标识信息对应的扫描队列,包括:
根据所述代理地址,查找预先保存的不同代理地址与不同测试标识信息的绑定关系,得到所述代理地址对应的测试标识信息;所述测试标识信息用于表示扫描队列的绑定关系;
根据所述测试标识信息确定所述测试标识信息对应的扫描队列;
所述将所述测试请求保存至所述标识信息对应的扫描队列,包括:
将所述测试请求保存至所述测试标识信息对应的扫描队列。
可选的,在所述接收所述测试请求之前,所述方法还包括:
接收配置信息,所述配置信息包括测试标识信息、所述测试标识信息所对应的域名、所述域名对应的IP地址;
反馈所述配置信息对应的代理地址,所述代理地址用于查找所述代理地址对应的测试标识信息,以在接收到包括所述代理地址的测试请求时能够将包括所述代理地址的测试请求保存至所述测试标识信息对应的扫描队列中。
可选的,所述分别通过一扫描节点,针对所述扫描队列中的测试请求进行漏洞检测,包括:
获取预设攻击代码;
利用所述攻击代码替代所述测试请求中的预设字段的内容,得到替换后的请求;
将所述替换后的请求发送至所述扫描队列指示的绑定关系中域名对应的IP地址;
从所述IP地址获得所述替换后的请求对应的响应结果;
判断所述响应结果是否满足所述预设攻击代码对应的预设结果;
如果是,则判断存在漏洞。
第二方面,本发明实施例提供了一种漏洞检测装置,包括:
第一接收模块,用于接收多个测试请求,所述测试请求携带标识信息;所述标识信息用于标识所述测试请求中域名和IP地址的绑定关系;所述IP地址表示待进行漏洞检测的地址;
确定模块,用于针对各个测试请求,分别根据所述测试请求携带的标识信息,确定所述标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;
保存模块,用于将所述测试请求保存至所述标识信息对应的扫描队列;
检测模块,用于分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
可选的,所述标识信息为代理地址,所述代理地址是根据用户输入的配置信息反馈至用户的;
所述确定模块,具体用于根据所述代理地址,查找预先保存的不同代理地址与不同测试标识信息的绑定关系,得到所述代理地址对应的测试标识信息;所述测试标识信息用于表示扫描队列的绑定关系;根据所述测试标识信息确定所述测试标识信息对应的扫描队列;
所述保存模块,具体用于将所述测试请求保存至所述测试标识信息对应的扫描队列。
可选的,所述装置还包括:
第二接收模块,用于接收配置信息,所述配置信息包括测试标识信息、所述测试标识信息所对应的域名、所述域名对应的IP地址;
反馈模块,用于反馈所述配置信息对应的代理地址,所述代理地址用于查找所述代理地址对应的测试标识信息,以在接收到包括所述代理地址的测试请求时能够将包括所述代理地址的测试请求保存至所述测试标识信息对应的扫描队列中。
可选的,所述检测模块,具体用于获取预设攻击代码;利用所述攻击代码替代所述测试请求中的预设字段的内容,得到替换后的请求;将所述替换后的请求发送至所述扫描队列指示的绑定关系中域名对应的IP地址;从所述IP地址获得所述替换后的请求对应的响应结果;判断所述响应结果是否满足所述预设攻击代码对应的预设结果;如果是,则判断存在漏洞。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例提供的漏洞检测方法、装置、设备及存储介质,接收多个测试请求,测试请求携带标识信息;标识信息用于标识测试请求中域名和IP地址的绑定关系;IP地址表示待进行漏洞检测的地址;针对各个测试请求,分别根据测试请求携带的标识信息,确定标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;将测试请求保存至标识信息对应的扫描队列;分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。同一域名对应不同IP表示不同绑定关系,也可以理解为一个域名绑定一个IP,标识不同绑定关系的测试请求保存至不同的扫描队列中,一个扫描队列对应一个扫描节点,扫描队列对应的扫描节点针对该扫描队列中的测试请求进行漏洞检测。即可以通过扫描队列对不同绑定关系的测试请求进行区分,也可以理解为将不同绑定关系的测试请求通过扫描队列进行隔离,每一扫描节点可以分别针对一个扫描队列中的测试请求进行漏洞检测,也即一个扫描节点针对一种绑定关系的测试请求进行漏洞检测,避免在漏洞检测过程中遗漏针对测试请求的漏洞检测,能够减少漏洞检测过程中的漏检。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中漏洞检测方法的一种流程图;
图2为本发明实施例中针对各个测试请求,分别根据测试请求携带的标识信息,确定标识信息对应的扫描队列的流程图;
图3为本发明实施例中分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点的流程图;
图4为本发明实施例中漏洞检测方法的另一种流程图;
图5为本发明实施例提供的漏洞检测方法的一种应用示意图;
图6为本发明实施例提供的漏洞检测方法的另一种应用示意图;
图7为本发明实施例中漏洞检测装置的一种结构示意图;
图8为本发明实施例中漏洞检测装置的另一种结构示意图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
在漏洞检测过程中有可能存在不同测试人员对同一域名配置不同的IP进行漏洞检测,但是,一扫描节点仅能针对域名与一IP存在对应关系的测试请求进行漏洞检测,当同一域名对应多个IP时,在测试请求解析过程中有可能存在遗漏。针对现有技术中当对同一域名配置不同IP时,则有可能会有漏检的问题,本发明实施例提供了一种漏洞检测方法。将测试请求分别存放至不同的扫描队列(每一个扫描队列中测试请求均是一域名对应一IP),如此,可以分别针对扫描队列进行处理,避免在漏洞检测过程中遗漏针对测试请求的漏洞检测,减少漏洞检测过程中的漏检,同时,可以减少针对漏洞检测结果的漏报。
本发明实施例中一个扫描队列中只存在配置为一个域名与对应一个IP的请求,一个扫描节点针对一个扫描队列中的测试请求进行处理,可以实现域名与IP的绑定,也可以理解为实现一个域名与一个IP的测试请求之间的隔离。一个扫描节点处理一个域名对应一固定IP的请求,则不会出现扫描节点需要针对同一域名与不同IP存在对应关系的测试请求进行漏洞检测,则能够解决因扫描节点仅能针对域名与一IP存在对应关系的测试请求进行漏洞检测而导致的漏检的问题,即如果扫描节点同时针对一域名与不同IP存在关系的测试请求进行漏洞检测时会漏检一部分测试请求,会造成在漏洞检测过程中的漏检,即遗漏针对测试请求的漏洞检测。
本发明实施例提供的漏洞检测方法可以应用于电子设备,具体地,电子设备可以包括服务器、终端等等。
本发明实施例提供了一种漏洞检测方法,可以包括:
接收多个测试请求,测试请求携带标识信息;标识信息用于标识测试请求中域名和IP地址的绑定关系;IP地址表示待进行漏洞检测的地址;
针对各个测试请求,分别根据测试请求携带的标识信息,确定标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;
将测试请求保存至标识信息对应的扫描队列;
分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
本发明实施例中,同一域名对应不同IP表示不同绑定关系,也可以理解为一个域名绑定一个IP,标识不同绑定关系的测试请求保存至不同的扫描队列中,一个扫描队列对应一个扫描节点,扫描队列对应的扫描节点针对该扫描队列中的测试请求进行漏洞检测。即可以通过扫描队列对不同绑定关系的测试请求进行区分,也可以理解为将不同绑定关系的测试请求通过扫描队列进行隔离,每一扫描节点可以分别针对一个扫描队列中的测试请求进行漏洞检测,也即一个扫描节点针对一种绑定关系的测试请求进行漏洞检测,能够减少漏洞检测过程中的漏检。
本发明实施例提供了一种漏洞检测方法,如图1所示,可以包括:
S101,接收多个测试请求,测试请求携带标识信息,标识信息用于标识测试请求中域名和IP地址的绑定关系。其中,IP地址表示待进行漏洞检测的地址。
标识信息可以直接包括域名和IP地址。
或者,标识信息可以是其他信息与域名和IP地址的对应关系,可以预先保存该对应关系,当得到该其他信息,可以查找该对应关系,得到该其他信息对应的域名和IP地址的绑定关系。
一种可实现方式中,该其他信息可以为代理地址,代理地址是根据用户输入的配置信息反馈至用户的。
S102,针对各个测试请求,分别根据测试请求携带的标识信息,确定标识信息对应的扫描队列。
不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系。
当标识信息为代理地址,如图2所示,S102可以包括:
S1021,根据代理地址,查找预先保存的不同代理地址与不同测试标识信息到的绑定关系,得到代理地址对应的测试标识信息。
测试标识信息用于表示扫描队列的绑定关系。
一种可选的实施例中,不同的扫描队列可以有测试标识信息。该测试标识信息可以理解用于区分不同扫描队列的队列标识。
具体地,测试标识信息可以为域名与IP的绑定关系,即一个测试标识信息包括一个域名和一个IP。
S1022,根据测试标识信息确定测试标识信息对应的扫描队列。
即根据队列标识确定对应的扫描队列。
S103,将测试请求保存至标识信息对应的扫描队列。
一种可选的实现方式中,当标识信息为代理地址时,根据代理地址,查找预先保存的不同代理地址与不同测试标识信息到的绑定关系,得到代理地址对应的测试标识信息,根据测试标识信息确定测试标识信息对应的扫描队列之后,将测试请求保存至测试标识信息对应的扫描队列。
S104,分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
如图3所示,针对每一个扫描节点,该扫描节点对该扫描节点对应的扫描队列中的测试请求进行漏洞检测可以包括:
S1041,获取预设攻击代码。
S1042,利用攻击代码替代测试请求中的预设字段的内容,得到替换后的请求。
S1043,将替换后的请求发送至扫描队列指示的绑定关系中域名对应的IP地址。
S1044,从IP地址获得替换后的请求对应的响应结果。
S1045,判断响应结果是否满足预设攻击代码对应的预设结果。
S1046,如果是,则判断存在漏洞。
例如,测试请求为www.iqiyi.com/?file=index.html。预设攻击代码为/etc/passwd,经过替换后,得到的替换后的请求为www.iqiyi.com/?file=/etc/passwd。/etc/passwd是linux服务器的一个文件,一般来说其包含了root:x这一字符串,则预期结果(也即预设结果)就是root:x,一旦上述替换后的请求,返回的响应(也即响应结果)中包含了该字符串,即认为漏洞存在。
本发明实施例中,同一域名对应不同IP表示不同绑定关系,也可以理解为一个域名绑定一个IP,标识不同绑定关系的测试请求保存至不同的扫描队列中,一个扫描队列对应一个扫描节点,扫描队列对应的扫描节点针对该扫描队列中的测试请求进行漏洞检测。即可以通过扫描队列对不同绑定关系的测试请求进行区分,也可以理解为将不同绑定关系的测试请求通过扫描队列进行隔离,每一扫描节点可以分别针对一个扫描队列中的测试请求进行漏洞检测,也即一个扫描节点针对一种绑定关系的测试请求进行漏洞检测,能够减少漏洞检测过程中的漏检。
本发明一种可选的实施例中,如图4所示,本发明实施例提供的漏洞检测方法还可以包括:
S401,接收配置信息,配置信息包括测试标识信息、测试标识信息所对应的域名、域名对应的IP地址。
具体地,可以提供一个配置页面,用户如测试人员等可以通过该配置界面输入配置信息。
例如,有一个申请测试的网站,测试人员在测试一个新项目(申请测试项目)时,可以在申请的网站上点击新建项目,当检测到该新建项目的选项被点击后(接收到项目申请信息),可以提供该配置页面,该配置页面可以是一个浮层。可以在该浮层中输入配置信息。
配置信息可以还可以包括项目名称、项目优先级等等。
具体地可以将配置信息保存至数据库等。
S402,反馈配置信息对应的代理地址,代理地址用于查找代理地址对应的测试标识信息,以在接收到包括代理地址的测试请求时能够将包括代理地址的测试请求保存至测试标识信息对应的扫描队列中。
也可以理解为,本发明实施例中测试请求携带代理地址时,该代理地址是在接收到用户输入的配置信息之后反馈给用户的,该代理地址与用户输入的测试标识信息、域名和IP地址是存在对应关系的,可以保存这些对应关系。
当接收到测试人员等输入的配置信息后,可以向测试人员反馈一个代理地址,该代理地址是与配置信息对应的,也即与域名和IP地址是对应的。如此,测试人员在接收到该代理地址后,可以在发送配置信息中包括的域名和IP地址所标识的测试请求时携带该代理地址。
例如,测试人员获取到代理地址后,通过charles,burpsuite或者python脚本,只需要将其作为可选项配置即可,以python的requests库为例,可通过proxies={“http”:“代理地址”}作为其测试请求的可选项即可,即在发送的测试请求中携带该代理地址。
如此,在接收到包括代理地址的测试请求时能够将包括代理地址的测试请求保存至测试标识信息对应的扫描队列中。
本发明实施例中,一个扫描队列中只存在配置为一个域名与对应一个IP的请求,一扫描节点针对以扫描队列进行处理,可以实现一域名与一IP的绑定,也可以理解为实现不同对应关系(域名与IP)的测试请求之间的隔离。一个扫描节点处理一个域名对应一固定IP的测试请求,则不会出现扫描节点需要针对同一域名与不同IP存在绑定关系的测试请求进行漏洞检测,则能够解决因扫描节点仅能针对域名与一IP存在绑定关系的测试请求进行漏洞检测,当对同一域名配置不同IP时,存在的漏检的问题。
一种可选的实施例中,本发明实施例提供了一种漏洞检测系统,可以包括代理节点、扫描节点和管理平台。代理节点和扫描节点可以相互独立地两个设备,也可以是一个设备中的两个模块。管理平台可以称之为WEB管理界面。一种可实现方式中,本发明中开发环境,Windows 10,Vscode编辑器,python开发语言。使用环境:Content7系统。
代理节点,负责配置代理地址,获取流量并进行存储与转发,其中,流量即测试请求。
扫描节点,负责从扫描队列中获取流量,即获取测试请求,并进漏洞的扫描与验证,提交至WEB管理界面。
WEB(网页)管理界面,负责测试项目的创建与漏洞的展示。
一种可实现方式中,电子设备包括管理平台、代理节点和扫描节点,可以包括:
管理平台,用于在接收到项目申请信息后,反馈配置界面;接收通过配置界面输入配置信息,配置信息包括测试标识信息和测试标识信息所对应的域名与IP的绑定关系。
返回测试标识信息对应的代理地址,代理地址表示代理节点的地址,代理节点是待接收测试标识信息对应的测试请求的节点。
多个代理节点,针对各个代理节点,代理节点接收测试请求,测试请求中携带代理地址,将测试请求保存至测试标识信息对应的扫描队列;其中,不同代理节点分别对应不同的测试标识信息;
多个扫描节点,针对各个扫描节点,扫描节点针对扫描节点对应的测试标识信息的扫描队列中的测试请求进行漏洞检测。
一种可选的实施例中,还可以通过管理平台,用于测试项目的创建与漏洞的展示,等等。输出漏洞检测结果,可以包括:将漏洞检测结果提交至管理平台,以使管理平台展示漏洞检测结果。
图5所示为本发明实施例提供的漏洞检测方法的一种应用示意图,如图5所示,可以包括如下步骤:
S501,生成测试项目对应的扫描环境。
管理平台接收测试人员创建的测试项目,测试项目包括测试人员配置的域名与IP的对应关系;生成测试项目对应的扫描环境,扫描环境包括代理节点信息和绑定关系,也可以理解为建立代理节点信息(如代理地址)和绑定关系之间的对应关系。
可以理解为,测试人员在管理平台上申请测试项目。也可以理解为创建测试项目。测试人员可以在管理平台中输入配置的域名与以及域名对应的IP地址。
例如,测试人员可以点击“新建项目”选项,当检测到该选项被点击后,提供一个配置信息,测试人员可以通过该配置页面输入配置信息,也即配置域名以及对应的IP地址。
S502,展示代理节点信息。
如此,测试人员基于代理节点信息配置测试项目对应的代理节点。
例如,展示代理节点的代理地址,测试人员可以在测试环境中配置代理节点,如可以在测试环境的配置参数中添加代理节点信息,如代理节点的代理地址等。例如,测试人员将代理地址,如代理节点的IP地址添加到测试环境的proxy配置中。如此,可以通过该代理节点接收该测试项目对应的测试请求。测试环境可以包括charless,burpsuite,pytest等等。
S503,接收测试请求。
当在测试环境中配置测试项目对应的代理节点,测试项目对应的测试请求可以发送至代理节点。
S504,代理节点将测试请求转发至测试项目对应的扫描队列。
以使扫描节点从扫描队列中获取测试请求,并针对测试请求进行漏洞检测。
S505,扫描节点从扫描队列中获取测试请求,并针对测试请求进行漏洞检测。
S506,展示结果。
测试人员申请漏洞扫描测试,生成一套与测试项目匹配的代理节点与扫描节点。代理服务将测试流量转发至不同的扫描节点中,即保存至不同的扫描队列,不同的扫描节点从其对应的扫描队列中取出测试请求,每一扫描节点针对一扫描队列中的测试请求进行漏洞检测。具体地,扫描节点通过漏洞插件,一旦发现漏洞,即将结果同步回数据库,并在web页面中显示。
图6所示为本发明实施例提供的漏洞检测方法的另一种应用示意图,如图6所示。
测试人员可以在测试环境Proxy plugin中配置代理节点,其中,测试环境可以理解为测试框架等。例如,可以在Proxy plugin的配置参数中添加代理节点信息,如代理节点的代理地址等。例如,测试人员将代理地址,如代理节点的IP地址添加到测试环境的Proxyplugin中,其中,Proxy plugin可以理解为代理插件,是浏览器的一个工具。
一种可实现方式中,测试人员可以基于不同的测试项目配置不同的代理节点,例如,不同测试人员分别在Proxy plugin中为其创建的测试项目配置对应的代理节点,也即一个测试项目配置一个代理节点。一个测试项目也即配置的一域名对应一个IP地址,不同的测试项目也即不同的域名和IP地址的对应关系。
代理节点可以接收测试项目对应的测试请求,按照测试项目的不同,也即按照域名和IP地址的不同绑定关系,将测试请求保存在测试项目对应的扫描队列。如此,扫描节点可以从扫描队列中获取测试请求进行处理。如,不同测试项目对应的扫描节点可以包括Docker project,扫描节点包含了漏洞检测所使用的扫描插件。
REST API/DB分别指的是表述性状态传递(Representational State Transfer,REST)应用程序接口和数据库,REST应用程序接口是对应动作,比如保存漏洞的一个地址接口;而DB表示数据库,是漏洞的保存位置。
具体地,扫描节点从扫描队列中获取测试请求,并针对测试请求进行漏洞检测已上述实施例中进行详述,这里不再赘述。
本发明可以解决代理扫描不同测试项目之间配置地址冲突的问题,通过代理节点接收测试请求;并按照测试项目的不同,将测试请求转发至测试项目对应的扫描队列,以使扫描节点从扫描队列中获取测试请求,并针对测试请求进行漏洞检测,如此可以区分、隔离不同的测试项目对应的测试请求(也即不同绑定关系的测试请求),避免不同测试人员创建的测试项目之间地址冲突有可能会引起的漏洞检测漏报,误报等。且增加了代理扫描的灵活性,丰富了开放源代码的跨平台多媒体开发库(Simple DirectMedia Layer,SDL)流程的一环,可以将安全漏洞的发现由上线后迁至上线前。
对应于上述实施例提供的漏洞检测方法,本发明实施例还提供了一种漏洞检测装置,如图7所示,可以包括:
第一接收模块701,用于接收多个测试请求,测试请求携带标识信息;标识信息用于标识测试请求中域名和IP地址的绑定关系;IP地址表示待进行漏洞检测的地址;
确定模块702,用于针对各个测试请求,分别根据测试请求携带的标识信息,确定标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;
保存模块703,用于将测试请求保存至标识信息对应的扫描队列;
检测模块704,用于分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
可选的,标识信息为代理地址,代理地址是根据用户输入的配置信息反馈至用户的;
确定模块702,具体用于根据代理地址,查找预先保存的不同代理地址与不同测试标识信息的绑定关系,得到代理地址对应的测试标识信息;测试标识信息用于表示扫描队列的绑定关系;根据测试标识信息确定测试标识信息对应的扫描队列;
保存模块703,具体用于将测试请求保存至测试标识信息对应的扫描队列。
可选的,如图8所示,该装置还包括:
第二接收模块801,用于接收配置信息,配置信息包括测试标识信息、测试标识信息所对应的域名、域名对应的IP地址;
反馈模块802,用于反馈配置信息对应的代理地址,代理地址用于查找代理地址对应的测试标识信息,以在接收到包括代理地址的测试请求时能够将包括代理地址的测试请求保存至测试标识信息对应的扫描队列中。
可选的,检测模块704,具体用于获取预设攻击代码;利用攻击代码替代测试请求中的预设字段的内容,得到替换后的请求;将替换后的请求发送至扫描队列指示的绑定关系中域名对应的IP地址;从IP地址获得替换后的请求对应的响应结果;判断响应结果是否满足预设攻击代码对应的预设结果;如果是,则判断存在漏洞。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现上述漏洞检测方法的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中漏洞检测方法的方法步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中漏洞检测方法的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、计算机可读存储介质及计算机程序成品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种漏洞检测方法,其特征在于,包括:
接收多个测试请求,所述测试请求携带标识信息;所述标识信息用于标识所述测试请求中域名和IP地址的绑定关系;所述IP地址表示待进行漏洞检测的地址;
针对各个测试请求,分别根据所述测试请求携带的标识信息,确定所述标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;
将所述测试请求保存至所述标识信息对应的扫描队列;
分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
2.根据权利要求1所述的方法,其特征在于,所述标识信息为代理地址,所述代理地址是根据用户输入的配置信息反馈至用户的;
所述根据所述测试请求携带的标识信息,确定所述标识信息对应的扫描队列,包括:
根据所述代理地址,查找预先保存的不同代理地址与不同测试标识信息的绑定关系,得到所述代理地址对应的测试标识信息;所述测试标识信息用于表示扫描队列的绑定关系;
根据所述测试标识信息确定所述测试标识信息对应的扫描队列;
所述将所述测试请求保存至所述标识信息对应的扫描队列,包括:
将所述测试请求保存至所述测试标识信息对应的扫描队列。
3.根据权利要求2所述的方法,其特征在于,在所述接收所述测试请求之前,所述方法还包括:
接收配置信息,所述配置信息包括测试标识信息、所述测试标识信息所对应的域名、所述域名对应的IP地址;
反馈所述配置信息对应的代理地址,所述代理地址用于查找所述代理地址对应的测试标识信息,以在接收到包括所述代理地址的测试请求时能够将包括所述代理地址的测试请求保存至所述测试标识信息对应的扫描队列中。
4.根据权利要求1所述的方法,其特征在于,所述分别通过一扫描节点,针对所述扫描队列中的测试请求进行漏洞检测,包括:
获取预设攻击代码;
利用所述攻击代码替代所述测试请求中的预设字段的内容,得到替换后的请求;
将所述替换后的请求发送至所述扫描队列指示的绑定关系中域名对应的IP地址;
从所述IP地址获得所述替换后的请求对应的响应结果;
判断所述响应结果是否满足所述预设攻击代码对应的预设结果;
如果是,则判断存在漏洞。
5.一种漏洞检测装置,其特征在于,包括:
第一接收模块,用于接收多个测试请求,所述测试请求携带标识信息;所述标识信息用于标识所述测试请求中域名和IP地址的绑定关系;所述IP地址表示待进行漏洞检测的地址;
确定模块,用于针对各个测试请求,分别根据所述测试请求携带的标识信息,确定所述标识信息对应的扫描队列;不同扫描队列对应不同的绑定关系,所有扫描队列对应的多个绑定关系中包括同一域名与不同IP地址的绑定关系;
保存模块,用于将所述测试请求保存至所述标识信息对应的扫描队列;
检测模块,用于分别通过一扫描节点,针对每一扫描队列中的测试请求进行漏洞检测,不同扫描队列对应不同的扫描节点。
6.根据权利要求5所述的装置,其特征在于,所述标识信息为代理地址,所述代理地址是根据用户输入的配置信息反馈至用户的;
所述确定模块,具体用于根据所述代理地址,查找预先保存的不同代理地址与不同测试标识信息的绑定关系,得到所述代理地址对应的测试标识信息;所述测试标识信息用于表示扫描队列的绑定关系;根据所述测试标识信息确定所述测试标识信息对应的扫描队列;
所述保存模块,具体用于将所述测试请求保存至所述测试标识信息对应的扫描队列。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收配置信息,所述配置信息包括测试标识信息、所述测试标识信息所对应的域名、所述域名对应的IP地址;
反馈模块,用于反馈所述配置信息对应的代理地址,所述代理地址用于查找所述代理地址对应的测试标识信息,以在接收到包括所述代理地址的测试请求时能够将包括所述代理地址的测试请求保存至所述测试标识信息对应的扫描队列中。
8.根据权利要求5所述的装置,其特征在于,所述检测模块,具体用于获取预设攻击代码;利用所述攻击代码替代所述测试请求中的预设字段的内容,得到替换后的请求;将所述替换后的请求发送至所述扫描队列指示的绑定关系中域名对应的IP地址;从所述IP地址获得所述替换后的请求对应的响应结果;判断所述响应结果是否满足所述预设攻击代码对应的预设结果;如果是,则判断存在漏洞。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1至4任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110057013.2A CN112910849B (zh) | 2021-01-15 | 2021-01-15 | 一种漏洞检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110057013.2A CN112910849B (zh) | 2021-01-15 | 2021-01-15 | 一种漏洞检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112910849A CN112910849A (zh) | 2021-06-04 |
CN112910849B true CN112910849B (zh) | 2022-12-06 |
Family
ID=76113823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110057013.2A Active CN112910849B (zh) | 2021-01-15 | 2021-01-15 | 一种漏洞检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112910849B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363253A (zh) * | 2014-12-12 | 2015-02-18 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
CN107026871A (zh) * | 2017-05-15 | 2017-08-08 | 安徽大学 | 一种基于云计算的Web漏洞扫描方法 |
US10440042B1 (en) * | 2016-05-18 | 2019-10-08 | Area 1 Security, Inc. | Domain feature classification and autonomous system vulnerability scanning |
CN111291382A (zh) * | 2020-01-22 | 2020-06-16 | 上海电子信息职业技术学院 | 漏洞扫描系统 |
-
2021
- 2021-01-15 CN CN202110057013.2A patent/CN112910849B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363253A (zh) * | 2014-12-12 | 2015-02-18 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
US10440042B1 (en) * | 2016-05-18 | 2019-10-08 | Area 1 Security, Inc. | Domain feature classification and autonomous system vulnerability scanning |
CN107026871A (zh) * | 2017-05-15 | 2017-08-08 | 安徽大学 | 一种基于云计算的Web漏洞扫描方法 |
CN111291382A (zh) * | 2020-01-22 | 2020-06-16 | 上海电子信息职业技术学院 | 漏洞扫描系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112910849A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180219907A1 (en) | Method and apparatus for detecting website security | |
CN110990205B (zh) | 接口调用测试方法、装置和计算机可读存储介质 | |
CN110798380B (zh) | 一种数据获取方法、系统、装置、测试设备及测试服务器 | |
CN110321154B (zh) | 一种微服务的接口信息展示方法、装置及电子设备 | |
CN113127323A (zh) | 一种测试方法、装置、终端设备及存储介质 | |
US10638301B2 (en) | Classification of objects | |
CN112199300B (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
KR20060031594A (ko) | 네트워크 취약성을 감지하고 유연성을 평가하기 위한 장치및 방법 | |
US10491629B2 (en) | Detecting sensitive data sent from client device to third-party | |
US20230239375A1 (en) | Deriving proxy stability without network inspection | |
US20220198025A1 (en) | Web Attack Simulator | |
CN107360036B (zh) | 一种网络故障定位方法、终端和服务器 | |
CN114003794A (zh) | 资产收集方法、装置、电子设备和介质 | |
CN109714406A (zh) | 资源描述文件的处理、页面资源的获取方法及设备 | |
CN113849473A (zh) | 操作记录方法、装置、电子设备及存储介质 | |
US20200167478A1 (en) | Security diagnosis device and security diagnosis method | |
CN113779571A (zh) | WebShell检测装置、WebShell检测方法及计算机可读存储介质 | |
CN112910849B (zh) | 一种漏洞检测方法、装置、设备及存储介质 | |
CN112115103B (zh) | 文件地址显示方法、装置、电子设备及可读存储介质 | |
CN112671574B (zh) | 前后端联调方法、装置、代理设备及存储介质 | |
CN105721251B (zh) | 一种可配置测试桩服务的方法及系统 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN112346991B (zh) | 一种接口测试脚本的生成方法及装置 | |
CN115378655A (zh) | 漏洞检测方法及装置 | |
CN109039813B (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 |