测试方法、测试装置、测试设备以及介质制造方法及图纸

技术编号:24888520 阅读:18 留言:0更新日期:2020-07-14 18:15
本公开提供了一种测试方法,包括:获取客户端向服务端发送的目标报文,其中,目标报文包括多个字符型数据,多个字符型数据表征了目标报文的报文特征;基于目标报文的报文特征,确定测试场景;根据测试场景和目标报文,确定测试报文;将测试报文发送给服务端,以便于服务端处理测试报文得到测试结果;以及基于测试结果,确定服务端处理目标报文时是否存在安全问题。本公开还提供了一种测试装置、一种测试设备以及一种计算机可读存储介质。

【技术实现步骤摘要】
测试方法、测试装置、测试设备以及介质
本公开涉及计算机
,特别是涉及一种测试方法、一种测试装置、一种测试设备以及一种计算机可读存储介质。
技术介绍
业务逻辑类漏洞是指由于程序逻辑设计不严,导致不法分子可以通过重新发送报文、篡改报文中的业务参数等手段执行不法操作。传统的安全防御设备和措施在检测业务逻辑漏洞方面收效甚微。在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下问题。一些传统的自动化安全测试方法在进行测试时主要依赖人工分析业务功能以构造测试报文,并将测试报文发送到服务端进行测试。此类测试方法依赖于测试人员在充分了解业务功能后构造测试报文,对测试人员的要求高,且由人工构造的测试报文难以遍历所有异常场景,极易出现漏测某些异常场景的问题。另外,通过人工构造测试报文的方式存在测试步骤相对复杂,测试效率较低的问题。此外,一些传统的自动化安全测试方法在进行测试时需要确定具体的业务场景,以便针对不同的业务场景利用不同的测试案例进行测试。业务场景例如包括转账类业务场景、登录类业务场景等。此类测试方法需要提前定义具体的业务场景,并且需要提前人工构造业务场景与测试案例之间的对应规则。因此,当出现新的业务场景时,需要实时更新业务场景与测试案例之间的对应规则,浪费人力成本。另外,随着业务的发展,一些业务场景可能存在一些隐藏的漏洞,通过人工难以发现该隐藏的漏洞,导致没有合适的测试案例进行测试。
技术实现思路
有鉴于此,本公开提供了一种优化的测试方法、测试装置、测试设备和计算机可读存储介质。本公开的一个方面提供了一种测试方法,包括:获取客户端向服务端发送的目标报文,其中,所述目标报文包括多个字符型数据,所述多个字符型数据表征了所述目标报文的报文特征,基于所述目标报文的报文特征,确定测试场景,根据所述测试场景和所述目标报文,确定测试报文,将所述测试报文发送给所述服务端,以便于所述服务端处理所述测试报文得到测试结果,基于所述测试结果,确定所述服务端处理所述目标报文时是否存在安全问题。根据本公开实施例,上述根据所述测试场景和所述目标报文,确定测试报文包括以下至少一项:响应于确定所述测试场景为第一类场景,将所述目标报文作为所述测试报文,以及响应于确定所述测试场景为第二类场景,处理所述目标报文并将处理后目标报文作为所述测试报文,其中,所述第一类场景表征所述目标报文包括获取验证码的报文,所述第二类场景表征所述目标报文包括请求登录的报文和/或表征所述目标报文中的用户信息存在风险。根据本公开实施例,上述处理所述目标报文包括:获取样本用户的用户属性信息,通过将所述目标报文中的用户属性信息替换为所述样本用户的用户属性信息,得到所述处理后目标报文。根据本公开实施例,上述目标报文包括多个交易数据。其中,所述处理所述目标报文包括以下至少一项:改变所述多个交易数据的顺序,以及删除所述多个交易数据中的至少一个交易数据。根据本公开实施例,上述方法还包括:处理所述目标报文,得到所述目标报文的报文特征。其中,所述处理所述目标报文,得到所述目标报文的报文特征包括:获取所述目标报文中的多个字符型数据,其中,所述多个字符型数据中的每个字符型数据均包括字符或字符串,确定所述每个字符型数据在所述目标报文中出现的次数,基于所述次数,确定所述目标报文的特征向量,其中,所述特征向量表征了所述报文特征。根据本公开实施例,上述基于所述目标报文的报文特征,确定测试场景包括:获取分类模型,其中,所述分类模型是利用多个特征值和多个标签值训练得到的,所述多个特征值为多个训练报文的报文特征,所述多个标签值为与多个训练报文对应的测试场景,利用所述分类模型处理所述报文特征,得到所述测试场景。根据本公开实施例,上述方法还包括:获取所述服务端处理所述目标报文得到的原始结果。其中,所述基于所述测试结果,确定所述服务端处理所述目标报文时是否存在安全问题包括:基于所述原始结果和所述测试结果之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题。根据本公开实施例,上述基于所述原始结果和所述测试结果之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题包括:获取所述原始结果的第一数据类型和所述测试结果的第二数据类型,响应于所述第一数据类型和所述第二数据类型不一致,确定所述服务端处理所述目标报文时不存在安全问题,响应于所述第一数据类型和所述第二数据类型一致,获取所述原始结果的第一数据内容和所述测试结果的第二数据内容,基于所述第一数据内容和所述第二数据内容之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题。根据本公开实施例,上述基于所述第一数据内容和所述第二数据内容之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题包括:响应于所述第一数据内容和所述第二数据内容均为结构化数据,基于所述第一数据内容的数据结构和所述第二数据内容的数据结构之间的相似度以及所述第一数据内容的数据样式和所述第二数据内容的数据样式之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题,响应于所述第一数据内容和所述第二数据内容均为半结构化数据,基于所述第一数据内容的数据结构以及所述第二数据内容的数据结构之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题,响应于所述第一数据内容和所述第二数据内容均为非结构化数据,基于所述第一数据内容的哈希值以及所述第二数据内容的哈希值之间的相似度,确定所述服务端处理所述目标报文时是否存在安全问题。本公开的另一个方面提供了一种测试装置,包括:第一获取模块、第一确定模块、第二确定模块、发送模块以及第三确定模块。其中,第一获取模块,获取客户端向服务端发送的目标报文,其中,所述目标报文包括多个字符型数据,所述多个字符型数据表征了所述目标报文的报文特征。第一确定模块,基于所述目标报文的报文特征,确定测试场景。第二确定模块,根据所述测试场景和所述目标报文,确定测试报文。发送模块,将所述测试报文发送给所述服务端,以便于所述服务端处理所述测试报文得到测试结果。第三确定模块,基于所述测试结果,确定所述服务端处理所述目标报文时是否存在安全问题。根据本公开实施例,上述根据所述测试场景和所述目标报文,确定测试报文包括以下至少一项:响应于确定所述测试场景为第一类场景,将所述目标报文作为所述测试报文,以及响应于确定所述测试场景为第二类场景,处理所述目标报文并将处理后目标报文作为所述测试报文,其中,所述第一类场景表征所述目标报文包括获取验证码的报文,所述第二类场景表征所述目标报文包括请求登录的报文和/或表征所述目标报文中的用户信息存在风险。根据本公开实施例,上述处理所述目标报文包括:获取样本用户的用户属性信息,通过将所述目标报文中的用户属性信息替换为所述样本用户的用户属性信息,得到所述处理后目标报文。根据本公开实施例,上述目标报文包括多个交易数据。其中,所述处理所述目标报文包括以下至少一项:改变所述多个交易数据的顺序,以及删除所述多个交易数据中的至少一个交易数据。...

【技术保护点】
1.一种测试方法,包括:/n获取客户端向服务端发送的目标报文,其中,所述目标报文包括多个字符型数据,所述多个字符型数据表征了所述目标报文的报文特征;/n基于所述目标报文的报文特征,确定测试场景;/n根据所述测试场景和所述目标报文,确定测试报文;/n将所述测试报文发送给所述服务端,以便于所述服务端处理所述测试报文得到测试结果;以及/n基于所述测试结果,确定所述服务端处理所述目标报文时是否存在安全问题。/n

【技术特征摘要】
1.一种测试方法,包括:
获取客户端向服务端发送的目标报文,其中,所述目标报文包括多个字符型数据,所述多个字符型数据表征了所述目标报文的报文特征;
基于所述目标报文的报文特征,确定测试场景;
根据所述测试场景和所述目标报文,确定测试报文;
将所述测试报文发送给所述服务端,以便于所述服务端处理所述测试报文得到测试结果;以及
基于所述测试结果,确定所述服务端处理所述目标报文时是否存在安全问题。


2.根据权利要求1所述的方法,其中,所述根据所述测试场景和所述目标报文,确定测试报文包括以下至少一项:
响应于确定所述测试场景为第一类场景,将所述目标报文作为所述测试报文;以及
响应于确定所述测试场景为第二类场景,处理所述目标报文并将处理后目标报文作为所述测试报文,
其中,所述第一类场景表征所述目标报文包括获取验证码的报文,所述第二类场景表征所述目标报文包括请求登录的报文和/或表征所述目标报文中的用户信息存在风险。


3.根据权利要求2所述的方法,其中,所述处理所述目标报文包括:
获取样本用户的用户属性信息;以及
通过将所述目标报文中的用户属性信息替换为所述样本用户的用户属性信息,得到所述处理后目标报文。


4.根据权利要求2所述的方法,其中,所述目标报文包括多个交易数据;
其中,所述处理所述目标报文包括以下至少一项:
改变所述多个交易数据的顺序;以及
删除所述多个交易数据中的至少一个交易数据。


5.根据权利要求1所述的方法,还包括:处理所述目标报文,得到所述目标报文的报文特征;
其中,所述处理所述目标报文,得到所述目标报文的报文特征包括:
获取所述目标报文中的多个字符型数据,其中,所述多个字符型数据中的每个字符型数据均包括字符或字符串;
确定所述每个字符型数据在所述目标报文中出现的次数;以及
基于所述次数,确定所述目标报文的特征向量,其中,所述特征向量表征了所述报文特征。


6.根据权利要求1所述的方法,其中,所述基于所述目标报文的报文特征,确定测试场景包括:
获取分类模型,其中,所述分类模型是利用多个特征值和多个标签值训练得到的,所述多个特征值为多个训练报文的报文特征,所述多个标签值为与多个训练报文对应的测试场景;以及
利用所述分类模型处理所述报文特征,得到所述测试场景。


7.根据权利要求1所述的方法,还包括:
获取所述服务端处理所述目标报文得到的原始结果;
其中,所述基于所述测试结果,确定所述服务端处理所述目标报文时是否存在安全问题包括:
基于所述原始结果和所述测...

【专利技术属性】
技术研发人员:旷亚和吕博良程佩哲叶红
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1