CN115017512A - 基于区块链的越权访问漏洞测试方法及装置 - Google Patents
基于区块链的越权访问漏洞测试方法及装置 Download PDFInfo
- Publication number
- CN115017512A CN115017512A CN202210549029.XA CN202210549029A CN115017512A CN 115017512 A CN115017512 A CN 115017512A CN 202210549029 A CN202210549029 A CN 202210549029A CN 115017512 A CN115017512 A CN 115017512A
- Authority
- CN
- China
- Prior art keywords
- module
- test
- unauthorized access
- test data
- block chain
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书涉及区块链技术领域,具体地公开了一种基于区块链的越权访问漏洞测试方法及装置,其中,该方法包括:接收客户端发送的越权访问漏洞测试请求;漏洞测试请求中携带有目标标识;响应于越权访问漏洞测试请求,遍历区块链网络中存储的目标标识对应的测试数据表;测试数据表中包括目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;区块链网络包括多个区块链节点,多个区块链节点与多个模块一一对应,各区块链节点用于维护测试数据表中对应模块的越权测试数据;基于测试数据表中各模块的越权测试数据对各模块进行越权访问漏洞测试。上述方案可以实现自动化越权访问漏洞测试、提高测试效率以及节约测试成本。
Description
技术领域
本说明书涉及区块链技术领域,特别涉及一种基于区块链的越权访问漏洞测试方法及装置。
背景技术
越权访问漏洞一直是手机银行产品在做安全测试时的重点关注问题,但是由于越权访问需要人工分析结果,所以在测试时,一直是人手进行测试,无法做到自动化测试。通过人工手动进行测试,效率较低。而且,人工手动进行越权访问漏洞测试,对测试人员的安全技术水平要求较高,需要经过培训才能完成测试,测试成本高。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种基于区块链的越权访问漏洞测试方法及装置,以解决现有技术中越权访问漏洞测试效率低的问题。
本说明书实施例提供了一种基于区块链的越权访问漏洞测试方法,应用于漏洞测试系统,包括:接收客户端发送的越权访问漏洞测试请求;所述越权访问漏洞测试请求中携带有目标标识;响应于所述越权访问漏洞测试请求,遍历区块链网络中存储的所述目标标识对应的测试数据表;所述测试数据表中包括所述目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;所述区块链网络包括多个区块链节点,所述多个区块链节点与所述多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据;基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试。
在一个实施例中,所述测试数据表中包括所述各模块对应的第二账号操作请求报文以及第二账号操作返回报文;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:利用所述目标应用程序中的各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在未授权访问漏洞。
在一个实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限与所述第二账号的账号权限相同;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在平行越权访问漏洞。
在一个实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限低于所述第二账号的账号权限;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在垂直越权访问漏洞。
在一个实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文和/或第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,得到所述各模块对应的越权访问漏洞测试结果;根据所述各模块对应的越权访问漏洞测试结果以及所述各模块对应的测试返回报文,生成所述目标应用程序的越权访问漏洞测试报告。
在一个实施例中,在生成所述目标应用程序的越权访问漏洞测试报告之后,还包括:对所述越权访问漏洞测试报告进行验证;将所述目标应用程序的验证后的越权访问漏洞测试报告发送至所述区块链网络进行分布式存储。
在一个实施例中,该方法还包括:在所述目标应用程序的目标模块对应的报文发生变更的情况下,向所述区块链网络发送测试数据表更新请求,所述更新请求中携带有所述目标模块对应的变更后的报文数据,使得所述目标模块对应的区块链节点根据所述变更后的报文数据更新所述测试数据表中所述目标模块的越权测试数据。
本说明书实施例还提供了一种基于区块链的越权访问漏洞测试装置,应用于漏洞测试系统,包括:接收模块,用于接收客户端发送的越权访问漏洞测试请求;所述越权访问漏洞测试请求中携带有目标标识;遍历模块,用于响应于所述越权访问漏洞测试请求,遍历区块链网络中存储的所述目标标识对应的测试数据表;所述测试数据表中包括所述目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;所述区块链网络包括多个区块链节点,所述多个区块链节点与所述多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据;测试模块,用于基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试。
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的基于区块链的越权访问漏洞测试方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的基于区块链的越权访问漏洞测试方法的步骤。
本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的基于区块链的越权访问漏洞测试方法的步骤。
在本说明书实施例中,提供了一种基于区块链的越权访问漏洞测试方法,可以将所述测试数据表发送至区块链网络进行分布式存储,所述区块链网络中可以包括多个区块链节点,所述多个区块链节点与目标应用程序中的多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据,漏洞测试系统可以响应于客户端发送的越权访问漏洞测试请求,遍历所述区块链网络中存储的测试数据表,以基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,从而实现自动化越权访问测试,提高测试效率,节约测试成本。上述方案中,将测试数据表发送至区块链网络进行分布式存储,可以利用区块链对测试数据表进行共享,而且还可以防止测试数据表被恶意篡改,通过区块链网络中的多个区块链节点中各区块链节点来维护目标应用程序中的多个模块中各模块对应的越权测试数据,可实现各模块分布式维护数据,防止其它模块随意修改数据。可以通过遍历区块链网络中存储的测试数据表来获取各模块对应的越权测试数据,进而根据各模块对应的越权测试数据进行越权访问漏洞测试。通过上述方案解决了现有的越权访问漏洞测试效率低的技术问题,达到了实现自动化越权访问漏洞测试、提高测试效率以及节约测试成本的技术效果。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1示出了本说明书一实施例中基于区块链的越权访问漏洞测试方法的应用场景的示意图;
图2示出了本说明书一实施例中的基于区块链的越权访问漏洞测试方法的流程图;
图3示出了本说明书一实施例中的基于区块链的越权访问漏洞测试的实现流程图;
图4示出了本说明书一实施例中的基于区块链的越权访问漏洞测试装置的示意图;
图5示出了本说明书一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
越权访问漏洞一直是手机银行产品在做安全测试时的重点关注问题,但是由于越权访问需要人工分析结果,所以在测试时,一直是人手进行测试,无法做到自动化测试。越权访问一般包含未授权访问、平行越权、垂直越权。未授权访问就是在没有任何授权的情况下对需要认证的资源进行访问以及增删改查。垂直越权是通过低权限向高权限跨越形成垂直越权访问。平行越权就是同等用户权限之下,不用进入其它用户的账户也可以对别的用户资料或订单等信息进行增删改查操作的目的。目前无基于区块链的手机银行越权访问漏洞测试方法。传统的手机银行产品越权访问漏洞是由人工测试完成,效率较低且对测试人员技术要求比较高,测试过程复杂,测试成本高。
基于以上问题,本说明书实施例提供了一种基于区块链的越权访问漏洞测试方法,应用于漏洞测试系统。图1示出了本说明书一实施例中基于区块链的越权访问漏洞测试方法的应用场景的示意图。
可以根据目标应用程序中包含的多个模块中各模块的越权测试数据,生成测试数据表。测试数据表中可以包括目标应用程序中各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文。可以将测试数据表发送至区块链网络进行分布式存储。区块链网络可以包括多个区块链节点。多个区块链节点可以与多个模块一一对应。各区块链节点用于维护测试数据表中对应模块的越权测试数据。在一模块的报文格式或者数据发生变更后,该模块对应的区块链节点用于更新测试数据表中记录的该模块对应的越权测试数据。如图1所示,开发人员的客户端可以向漏洞测试系统发送越权访问漏洞测试请求。漏洞测试系统可以响应于接收到的越权访问漏洞测试请求,遍历区块链网络中存储的测试数据表,以基于所述各模块的越权测试数据进行越权访问测试。
图2示出了本说明书一实施例中基于区块链的越权访问漏洞测试方法的流程图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图2所示,本说明书一种实施例提供的基于区块链的越权访问漏洞测试方法可以包括以下步骤:
步骤S201,接收客户端发送的越权访问漏洞测试请求;所述越权访问漏洞测试请求中携带有目标标识。
漏洞测试系统可以为一个具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供支持的软件,具体的组成形成本申请不作限定。客户端可以为开发人员的客户端。客户端可以是台式电脑、笔记本、手机终端、PDA等,只要是可以向用户或者业务人员进行内容展示和发送接收操作指令的设备都可以,对于客户端的呈现形成,本申请也不作限定。
漏洞测试系统可以接收客户端发送的越权访问漏洞测试请求。所述越权访问漏洞测试请求中携带有目标标识。所述目标标识为待检测的目标应用程序的标识。
步骤S202,响应于所述越权访问漏洞测试请求,遍历区块链网络中存储的所述目标标识对应的测试数据表;所述测试数据表中包括所述目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;所述区块链网络包括多个区块链节点,所述多个区块链节点与所述多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据。
在接收到越权访问漏洞测试请求之后,可以响应于越权访问漏洞测试请求,遍历区块链网络中存储的目标应用程序对应的测试数据表。目标应用程序可以包括多个模块,各模块可以实现不同的功能。测试数据表中可以包括目标应用程序中多个模块中各模块的越权测试数据。越权测试数据可以包括登录请求报文、操作请求报文和操作返回报文等。
区块链网络中可以包括多个区块链节点。多个区块链节点可以与多个模块一一对应。所述各区块链节点可以用于维护测试数据中对应模块的越权测试数据。例如,各区块链节点可以对对应模块的越权测试数据进行新增、删除或者修改等。
步骤S203,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试。
在遍历区块链网络中存储的测试数据表之后,漏洞测试系统可以基于遍历获得的各模块的越权测试数据对各模块进行越权访问漏洞测试。例如,可以通过发送和接收各种报文来进行越权访问漏洞测试。
上述实施例中,将测试数据表发送至区块链网络进行分布式存储,可以利用区块链对测试数据表进行共享,而且还可以防止测试数据表被恶意篡改,通过区块链网络中的多个区块链节点中各区块链节点来维护目标应用程序中的多个模块中各模块对应的越权测试数据,可实现各模块分布式维护数据,防止其它模块随意修改数据。可以通过遍历区块链网络中存储的测试数据表来获取各模块对应的越权测试数据,进而根据各模块对应的越权测试数据进行越权访问漏洞测试。
在本说明书一些实施例中,所述测试数据表中可以包括所述各模块对应的第二账号操作请求报文以及第二账号操作返回报文;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,可以包括:利用所述目标应用程序中的各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在未授权访问漏洞。
可以对目标应用程序的各个模块进行未授权访问漏洞测试。具体地,可以利用目标应用程序中各模块发送该模块对应的第二账号操作请求报文,即在未登录的情况下对第二账号的数据进行操作。可以得到各模块对应的测试返回报文。可以将各模块对应的测试返回报文与测试数据表中对应的第二账号操作返回报文进行对比,以确定各模块是否存在未授权访问漏洞。测试数据表中对应的第二账号操作返回报文可以是操作成功的报文。这样,在各模块对应的测试返回报文与测试数据表中该模块对应的第二账号操作返回报文相同的情况下,则说明该模块存在未授权访问漏洞。在各模块对应的测试返回报文与测试数据表中该模块对应的第二账号操作返回报文不同的情况下,则说明该模块不存在未授权访问漏洞。通过上述方式,可以对各模块是否存在未授权访问漏洞进行测试。
在本说明书一些实施例中,所述测试数据表中可以包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限与所述第二账号的账号权限相同;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,可以包括:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在平行越权访问漏洞。
可以对目标应用程序的各个模块进行平行越权访问漏洞测试。具体的,可以利用目标应用程序中各模块发送该模块对应的第一账号登录请求报文。登录成功之后,利用该模块发送对应的第二账号操作请求报文,即在登录第一账号的情况下,对第二账号的数据进行操作。第一账号的权限与第二账号的权限相同。可以得到各模块对应的测试返回报文。可以将各模块对应的测试返回报文与测试数据表中对应的第二账号操作返回报文进行对比,以确定各模块是否存在平行越权访问漏洞。测试数据表中对应的第二账号操作返回报文可以是操作成功的报文。这样,在各模块对应的测试返回报文与测试数据表中该模块对应的第二账号操作返回报文相同的情况下,则说明该模块存在平行越权访问漏洞。在各模块对应的测试返回报文与测试数据表中该模块对应的第二账号操作返回报文不同的情况下,则说明该模块不存在平行越权访问漏洞。通过上述方式,可以对各模块是否存在平行越权访问漏洞进行测试。
在本说明书一些实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限低于所述第二账号的账号权限;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,可以包括:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在垂直越权访问漏洞。
可以对目标应用程序的各个模块进行垂直越权访问漏洞测试。具体的,可以利用目标应用程序中各模块发送该模块对应的第一账号登录请求报文。登录成功之后,利用该模块发送对应的第二账号操作请求报文,即在登录第一账号的情况下,对第二账号的数据进行操作。第一账号的权限低于第二账号的权限。可以得到各模块对应的测试返回报文。可以将各模块对应的测试返回报文与测试数据表中对应的第二账号操作返回报文进行对比,以确定各模块是否存在垂直越权访问漏洞。测试数据表中对应的第二账号操作返回报文可以是操作成功的报文。这样,在各模块对应的测试返回报文与测试数据表中该模块对应的第二账号操作返回报文相同的情况下,则说明该模块存在垂直越权访问漏洞。在各模块对应的测试返回报文与测试数据表中该模块对应的第二账号操作返回报文不同的情况下,则说明该模块不存在垂直越权访问漏洞。通过上述方式,可以对各模块是否存在垂直越权访问漏洞进行测试。
在本说明书一些实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,可以包括:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文和/或第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,得到所述各模块对应的越权访问漏洞测试结果;根据所述各模块对应的越权访问漏洞测试结果以及所述各模块对应的测试返回报文,生成所述目标应用程序的越权访问漏洞测试报告。
测试数据表中可以包括第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文。可以利用目标应用程序中各模块发送该模块对应的第二账号操作请求报文或者先发送第一账号登录请求报文再发送第二账号操作请求报文,得到各模块对应的测试返回报文。通过将各模块对应的测试返回报文与该模块对应的第二账号操作返回报文进行对比,可以得到各模块对应的越权访问漏洞测试结果。越权访问漏洞测试结果可以包括以下至少之一:是否存在未授权访问漏洞、是否存在平行越权访问漏洞、是否存在垂直越权访问漏洞。可以根据各模块对应的越权访问漏洞测试结果以及各模块对应的测试返回报文,生成目标应用程序的越权访问漏洞测试报告。越权访问漏洞测试报告可以供开发人员进行验证,以进一步提高应用程序的安全性以及测试结果的可靠性。
在本说明书一些实施例中,在生成所述目标应用程序的越权访问漏洞测试报告之后,还可以包括:对所述越权访问漏洞测试报告进行验证;将所述目标应用程序的验证后的越权访问漏洞测试报告发送至所述区块链网络进行分布式存储。
具体地,可以将越权访问漏洞测试报告发送至客户端以供开发人员进行验证。可以接收客户端返回的验证后的越权访问漏洞测试报告。可以将目标应用程序的验证后的越权访问漏洞测试报告发送至区块链网络进行共享存储。
在本说明书一些实施例中,该方法还可以包括:在所述目标应用程序的目标模块对应的报文发生变更的情况下,向所述区块链网络发送测试数据表更新请求,所述更新请求中携带有所述目标模块对应的变更后的报文数据,使得所述目标模块对应的区块链节点根据所述变更后的报文数据更新所述测试数据表中所述目标模块的越权测试数据。
具体地,开发人员在对目标应用程序的一个或多个目标模块的报文格式或者数据内容进行变更时,可以生成各目标模块对应的变更后的测试数据。可以向区块链网络发送测试数据表更新请求。更新请求中携带有发生变更的一个或多个目标模块中各目标模块对应的变更后的报文数据,使得各目标模块对应的区块链节点根据变更后的报文数据更新测试数据表中所述目标模块的越权测试数据。通过实时更新测试数据,可以提高越权漏洞测试效率和准确率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本说明书,并不构成对本说明书的不当限定。
本具体实施例中提供一种基于区块链技术的手机银行越权访问漏洞测试方法,可实现自动化测试,节省人工成本,提高手机银行产品安全性。可以设计区块链产品测试数据表;完成对区块链产品测试数据表遍历的自动化脚本实现;实现自动收发报文。
区块链产品测试数据表用于统计当前产品下所有模块的两个账号的不同测试数据。手机银行越权访问测试管理系统通过点击开始测试,可以对区块链产品测试数据表上的节点报文进行自动发送,并完成返回报文的比较,根据比较结果生成测试结果。手机银行产品模块区块链节点中的每个节点用于记录该模块越权测试用到的报文数据。
请参考图3,示出了本说明书一实施例中的基于区块链的越权访问漏洞测试的实现流程图。如图3所示,涉及越权访问的漏洞,一定满足以下几个条件:1、账号登陆;2、操作:查询、添加、修改、删除等;3、返回操作结果。越权访问的核心是步骤2中使用的账号与步骤1中登陆的账号不是同一个账号,如:用户A登陆后,去操作用户B账号,最终返回的结果是B账号的结果,证明越权访问成功。
涉及报文如下:账户A登陆:账户A的登陆请求报文,账户A登陆的返回报文;修改请求报文中的用户ID为账户B进行操作:操作请求报文,确认操作请求报文中代表账户的用户ID参数;查看返回结果:账户A的操作返回报文、账户B的操作返回报文。
基于区块链的手机银行越权访问测试方法如下:
首先产品下各模块,都维护两个测试账号,账号A和账号B,然后提供这两个账号的以下报文:账号A的登陆请求报文;账号B的操作请求报文;账号B的操作返回报文。
将上述3个报文内容,作为一个区块链产品测试数据表子节点的节点数据进行维护;根据所有节点的数据,生成一个区块链产品测试数据表,数据表以模块为维度,提供了手机银行产品所有模块的上述三报文信息。区块链产品测试数据表举例如下表1所示。
表1
功能模块 | 数据 |
模块一 | 两个账号的3种报文 |
模块二 | 两个账号的3种报文 |
…… | …… |
每个模块定期更新自己节点的数据,以保证测试结果准确。
可以建立一个手机银行越权访问测试管理系统,每次点击开始测试,则该系统自动从头到尾遍历区块链产品测试数据表中所有模块的数据,每遍历一个模块,发送该模块的报文1,发送报文2,然后根据返回结果,与预留的报文3进行匹配,如果匹配成功,则表示该模块存在越权漏洞,如果匹配失败,则表示没有越权漏洞。
最终根据结果生成一个测试结果报告,如下面的表2所示。
表2
功能模块 | 测试结果 | 测试数据 |
模块一 | 存在越权漏洞 | 测试返回报文 |
模块二 | 不存在越权漏洞 | 测试返回报文 |
…… | …… | …… |
最终测试人员,可以根据得到的测试结果报告,对存在漏洞的功能,再次确认数据,完成测试。
上述具体实施例中,将所有模块的测试数据由区块链进行共享,自动遍历各节点数据进行报文发送和接收完成自动化越权漏洞测试,各模块的测试数据由各模块分布式维护。上述方案实现了所有模块的越权访问漏洞自动化测试,开发人员只需要手动确认测试结果;可以利用区块链进行各模块的测试数据共享,可实现各模块分布式维护数据,防止其它模块随意修改数据。
基于同一发明构思,本说明书实施例中还提供了一种基于区块链的越权访问漏洞测试装置,应用于漏洞测试系统,如下面的实施例所述。由于基于区块链的越权访问漏洞测试装置解决问题的原理与基于区块链的越权访问漏洞测试方法相似,因此基于区块链的越权访问漏洞测试装置的实施可以参见基于区块链的越权访问漏洞测试方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本说明书实施例的基于区块链的越权访问漏洞测试装置的一种结构框图,如图4所示,包括:接收模块401、遍历模块402和测试模块403,下面对该结构进行说明。
接收模块401用于接收客户端发送的越权访问漏洞测试请求;所述越权访问漏洞测试请求中携带有目标标识。
遍历模块402用于响应于所述越权访问漏洞测试请求,遍历区块链网络中存储的所述目标标识对应的测试数据表;所述测试数据表中包括所述目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;所述区块链网络包括多个区块链节点,所述多个区块链节点与所述多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据。
测试模块403用于基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试。
在本说明书一些实施例中,所述测试数据表中包括所述各模块对应的第二账号操作请求报文以及第二账号操作返回报文;相应的,所述测试模块可以具体用于:利用所述目标应用程序中的各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在未授权访问漏洞。
在本说明书一些实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限与所述第二账号的账号权限相同;相应的,所述测试模块可以具体用于:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在平行越权访问漏洞。
在本说明书一些实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限低于所述第二账号的账号权限;相应的,所述测试模块可以具体用于:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在垂直越权访问漏洞。
在本说明书一些实施例中,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;相应的,所述测试模块可以具体用于:利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文和/或第二账号操作请求报文,得到所述各模块对应的测试返回报文;将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,得到所述各模块对应的越权访问漏洞测试结果;根据所述各模块对应的越权访问漏洞测试结果以及所述各模块对应的测试返回报文,生成所述目标应用程序的越权访问漏洞测试报告。
在本说明书一些实施例中,该装置还可以包括验证模块,所述验证模块可以用于:在生成所述目标应用程序的越权访问漏洞测试报告之后,对所述越权访问漏洞测试报告进行验证;将所述目标应用程序的验证后的越权访问漏洞测试报告发送至所述区块链网络进行分布式存储。
在本说明书一些实施例中,该装置还可以包括更新模块,所述更新模块可以用于:在所述目标应用程序的目标模块对应的报文发生变更的情况下,向所述区块链网络发送测试数据表更新请求,所述更新请求中携带有所述目标模块对应的变更后的报文数据,使得所述目标模块对应的区块链节点根据所述变更后的报文数据更新所述测试数据表中所述目标模块的越权测试数据。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:提供了一种基于区块链的越权访问漏洞测试方法,可以将所述测试数据表发送至区块链网络进行分布式存储,所述区块链网络中可以包括多个区块链节点,所述多个区块链节点与目标应用程序中的多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据,漏洞测试系统可以响应于客户端发送的越权访问漏洞测试请求,遍历所述区块链网络中存储的测试数据表,以基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,从而实现自动化越权访问测试,提高测试效率,节约测试成本。上述方案中,将测试数据表发送至区块链网络进行分布式存储,可以利用区块链对测试数据表进行共享,而且还可以防止测试数据表被恶意篡改,通过区块链网络中的多个区块链节点中各区块链节点来维护目标应用程序中的多个模块中各模块对应的越权测试数据,可实现各模块分布式维护数据,防止其它模块随意修改数据。可以通过遍历区块链网络中存储的测试数据表来获取各模块对应的越权测试数据,进而根据各模块对应的越权测试数据进行越权访问漏洞测试。通过上述方案解决了现有的越权访问漏洞测试效率低的技术问题,达到了实现自动化越权访问漏洞测试、提高测试效率以及节约测试成本的技术效果。
本说明书实施方式还提供了一种计算机设备,具体可以参阅图5所示的基于本说明书实施例提供的基于区块链的越权访问漏洞测试方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备51、处理器52、存储器53。其中,所述存储器53用于存储处理器可执行指令。所述处理器52执行所述指令时实现上述任意实施例中所述的基于区块链的越权访问漏洞测试方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施方式中还提供了一种基于区块链的越权访问漏洞测试方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述基于区块链的越权访问漏洞测试方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的基于区块链的越权访问漏洞测试方法的步骤。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书的优选实施例而已,并不用于限制本说明书,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
Claims (11)
1.一种基于区块链的越权访问漏洞测试方法,其特征在于,应用于漏洞测试系统,包括:
接收客户端发送的越权访问漏洞测试请求;所述越权访问漏洞测试请求中携带有目标标识;
响应于所述越权访问漏洞测试请求,遍历区块链网络中存储的所述目标标识对应的测试数据表;所述测试数据表中包括所述目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;所述区块链网络包括多个区块链节点,所述多个区块链节点与所述多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据;
基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试。
2.根据权利要求1所述的越权访问漏洞测试方法,其特征在于,所述测试数据表中包括所述各模块对应的第二账号操作请求报文以及第二账号操作返回报文;
相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:
利用所述目标应用程序中的各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;
将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在未授权访问漏洞。
3.根据权利要求1所述的越权访问漏洞测试方法,其特征在于,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限与所述第二账号的账号权限相同;
相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:
利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;
利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;
将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在平行越权访问漏洞。
4.根据权利要求1所述的越权访问漏洞测试方法,其特征在于,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;所述第一账号的账号权限低于所述第二账号的账号权限;
相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:
利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文进行登录;
利用所述各模块发送对应的第二账号操作请求报文,得到所述各模块对应的测试返回报文;
将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,以确定所述各模块是否存在垂直越权访问漏洞。
5.根据权利要求1所述的越权访问漏洞测试方法,其特征在于,所述测试数据表中包括所述各模块对应的第一账号登录请求报文、第二账号操作请求报文以及第二账号操作返回报文;
相应的,基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试,包括:
利用所述目标应用程序中的各模块发送对应的第一账号登录请求报文和/或第二账号操作请求报文,得到所述各模块对应的测试返回报文;
将所述各模块对应的测试返回报文与所述各模块对应的第二账号操作返回报文进行对比,得到所述各模块对应的越权访问漏洞测试结果;
根据所述各模块对应的越权访问漏洞测试结果以及所述各模块对应的测试返回报文,生成所述目标应用程序的越权访问漏洞测试报告。
6.根据权利要求5所述的越权访问漏洞测试方法,其特征在于,在生成所述目标应用程序的越权访问漏洞测试报告之后,还包括:
对所述越权访问漏洞测试报告进行验证;
将所述目标应用程序的验证后的越权访问漏洞测试报告发送至所述区块链网络进行分布式存储。
7.根据权利要求1所述的越权访问漏洞测试方法,其特征在于,还包括:
在所述目标应用程序的目标模块对应的报文发生变更的情况下,向所述区块链网络发送测试数据表更新请求,所述更新请求中携带有所述目标模块对应的变更后的报文数据,使得所述目标模块对应的区块链节点根据所述变更后的报文数据更新所述测试数据表中所述目标模块的越权测试数据。
8.一种基于区块链的越权访问漏洞测试装置,其特征在于,应用于漏洞测试系统,包括:
接收模块,用于接收客户端发送的越权访问漏洞测试请求;所述越权访问漏洞测试请求中携带有目标标识;
遍历模块,用于响应于所述越权访问漏洞测试请求,遍历区块链网络中存储的所述目标标识对应的测试数据表;所述测试数据表中包括所述目标标识对应的目标应用程序中包含的多个模块中各模块的越权测试数据;所述区块链网络包括多个区块链节点,所述多个区块链节点与所述多个模块一一对应,所述各区块链节点用于维护所述测试数据表中对应模块的越权测试数据;
测试模块,用于基于所述测试数据表中各模块的越权测试数据对所述各模块进行越权访问漏洞测试。
9.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210549029.XA CN115017512A (zh) | 2022-05-20 | 2022-05-20 | 基于区块链的越权访问漏洞测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210549029.XA CN115017512A (zh) | 2022-05-20 | 2022-05-20 | 基于区块链的越权访问漏洞测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017512A true CN115017512A (zh) | 2022-09-06 |
Family
ID=83068866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210549029.XA Pending CN115017512A (zh) | 2022-05-20 | 2022-05-20 | 基于区块链的越权访问漏洞测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017512A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579023A (zh) * | 2023-07-14 | 2023-08-11 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 信号采集处理机的测试系统及方法 |
-
2022
- 2022-05-20 CN CN202210549029.XA patent/CN115017512A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579023A (zh) * | 2023-07-14 | 2023-08-11 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 信号采集处理机的测试系统及方法 |
CN116579023B (zh) * | 2023-07-14 | 2023-11-17 | 武汉能钠智能装备技术股份有限公司四川省成都市分公司 | 信号采集处理机的测试系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190303623A1 (en) | Promotion smart contracts for software development processes | |
US20190305959A1 (en) | Announcement smart contracts to announce software release | |
US20190303541A1 (en) | Auditing smart contracts configured to manage and document software audits | |
US20190305957A1 (en) | Execution smart contracts configured to establish trustworthiness of code before execution | |
US20190306173A1 (en) | Alert smart contracts configured to manage and respond to alerts related to code | |
US11086983B2 (en) | System and method for authenticating safe software | |
CN103975337A (zh) | 预测性堆溢出保护 | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN102609654A (zh) | 一种检测恶意flash文件的方法和装置 | |
CN110188543A (zh) | 白名单库、白名单程序库更新方法及工控系统 | |
CN113469371B (zh) | 联邦学习方法和装置 | |
CN111949531B (zh) | 区块链网络的测试方法、装置、介质及电子设备 | |
US11403281B2 (en) | Parallel blockchain processing | |
CN116155771A (zh) | 网络异常测试方法、装置、设备、存储介质和程序 | |
CN115017512A (zh) | 基于区块链的越权访问漏洞测试方法及装置 | |
CN102866932A (zh) | 提供和收集与程序的异常终止相关的数据的方法和设备 | |
CN103440460A (zh) | 一种应用系统变更验证方法及验证系统 | |
CN110598419A (zh) | 一种区块链客户端漏洞挖掘方法、装置、设备及存储介质 | |
CN115730935A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116436689A (zh) | 漏洞处理方法、装置、存储介质及电子设备 | |
Wang et al. | A model-based behavioral fuzzing approach for network service | |
CN105681291A (zh) | 一种实现多客户端统一认证方法及系统 | |
CN115271714A (zh) | 一种区块链共识机制的自动化安全评测方法 | |
CN111935251B (zh) | 区块链网络管理方法、网络、装置、设备及存储介质 | |
CN111369246B (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 |