CN111488287B - 注入漏洞测试用例的生成方法、装置、介质及电子设备 - Google Patents

注入漏洞测试用例的生成方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN111488287B
CN111488287B CN202010301315.5A CN202010301315A CN111488287B CN 111488287 B CN111488287 B CN 111488287B CN 202010301315 A CN202010301315 A CN 202010301315A CN 111488287 B CN111488287 B CN 111488287B
Authority
CN
China
Prior art keywords
features
test case
feature
constraint
constraint relation
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
CN202010301315.5A
Other languages
English (en)
Other versions
CN111488287A (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.)
State Grid Corp of China SGCC
Nankai University
State Grid Tianjin Electric Power Co Ltd
Electric Power Research Institute of State Grid Tianjin Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Nankai University
State Grid Tianjin Electric Power 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 State Grid Corp of China SGCC, Nankai University, State Grid Tianjin Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202010301315.5A priority Critical patent/CN111488287B/zh
Publication of CN111488287A publication Critical patent/CN111488287A/zh
Application granted granted Critical
Publication of CN111488287B publication Critical patent/CN111488287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

本发明提供了一种注入漏洞测试用例的生成方法、生成装置、计算机可读存储介质以及电子设备,根据需要测试的当前目标注入点,获取对应的测试用例结构特征,并且根据测试用例结构特征之间的约束关系,生成测试用例集,得到可以测试该当前目标注入点的最为全面的测试用例集,从而提高测试的精度,避免因测试用例集覆盖不全而导致注入漏洞未测出的风险。

Description

注入漏洞测试用例的生成方法、装置、介质及电子设备
技术领域
本发明涉及网络测试领域,具体涉及一种注入漏洞测试用例的生成方法、生成装置、计算机可读存储介质以及电子设备。
背景技术
随着基于电力网络信息系统在智能电网中的高速普及和发展,其安全性和可靠性问题日趋严峻,尤其是基于网络应用数据库的结构化查询语言注入漏洞(SQLIV:Structured Query Language Injection Vulnerability)在电力业务信息网络中的危害愈加凸显。SQLIV已逐渐成为电力业务信息系统中危害最为严重的网络应用漏洞,攻击者可通过修改和伪造发送给网络应用后台数据库的结构化语音的查询,导致其被解析为恶意的非预期查询,进而可能造成敏感信息泄露和丢失、授权与认证失效,甚至电力信息系统服务器后台劫持等危害到电力系统的重要安全问题,因而,需要针对SQLIV进行检测和测试。
然而,在现有的针对电力网络信息系统漏洞的诸多检测方法中,渗透测试是最为主要的SQLIV检测技术之一,但是庞大复杂的电力信息系统应用就需要大量且全面的测试用例集来进行检测,现有的方法多是通过枚举生成测试用例集,显然这样生成的测试用例集不够全面,因此,如何生成覆盖度足够高的测试用例集成为一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例致力于提供一种注入漏洞测试用例的生成方法、生成装置、计算机可读存储介质以及电子设备,根据需要测试的当前目标注入点,获取对应的测试用例结构特征,并且根据测试用例结构特征中各个特征之间的约束关系,生成测试用例集,得到可以测试该当前目标注入点的最为全面的测试用例集,从而提高测试的精度,避免因测试用例集覆盖不全而导致注入漏洞未测出的风险。
根据本发明的一方面,本发明一实施例提供的一种注入漏洞测试用例集的生成方法,包括:获取对应当前目标注入点的测试用例结构特征;;以及根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集;其中,所述测试用例集包括对应所述当前目标注入点的多个测试用例。
在一实施例中,所述根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集包括:选取满足所述约束关系的所述测试用例结构特征。
在一实施例中,所述测试用例结构特征包括语句特征、语法特征和控制特征。
在一实施例中,所述根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集包括:选取语句特征和语法特征满足第一约束关系、语句特征和控制特征满足第二约束关系以及语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集;以及选取所述第一特征集中语句特征内各个特征之间满足第四约束关系、语法特征内各个特征之间满足第五约束关系以及控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到所述测试用例集。
在一实施例中,所述选取语句特征和语法特征满足第一约束关系、语句特征和控制特征满足第二约束关系以及语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集包括:选取语句特征和语法特征满足第一约束关系的测试用例结构特征,得到第二特征集;选取所述第二特征集中语句特征和控制特征满足第二约束关系的测试用例结构特征,得到第三特征集;以及选取所述第三特征集中语法特征和控制特征满足第三约束关系的测试用例结构特征,得到所述第一特征集。
在一实施例中,所述选取所述第一特征集中语句特征内各个特征之间满足第四约束关系、语法特征内各个特征之间满足第五约束关系以及控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到所述测试用例集包括:选取所述第一特征集中语句特征内各个特征之间满足第四约束关系的测试用例结构特征,得到第四特征集;选取所述第四特征集中语法特征内各个特征之间满足第五约束关系的测试用例结构特征,得到第五特征集;以及选取所述第五特征集中控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到所述测试用例集。
在一实施例中,所述约束关系包括决定性约束关系和/或相互性约束关系
根据本发明的另一方面,本发明一实施例提供的一种注入漏洞测试用例的生成装置,包括:获取模块,用于获取对应当前目标注入点的测试用例结构特征;以及生成模块,用于根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集;其中,所述测试用例集包括对应所述当前目标注入点的多个测试用例。
根据本发明的另一方面,本发明一实施例提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的注入漏洞测试用例的生成方法。
根据本发明的另一方面,本发明一实施例提供的一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述任一所述的注入漏洞测试用例的生成方法。
本发明实施例提供的一种注入漏洞测试用例的生成方法、生成装置、计算机可读存储介质以及电子设备,根据需要测试的当前目标注入点,获取对应的测试用例结构特征,并且根据测试用例结构特征中各个特征之间的约束关系,生成测试用例集,得到可以测试该当前目标注入点的最为全面的测试用例集,从而提高测试的精度,避免因测试用例集覆盖不全而导致注入漏洞未测出的风险。
附图说明
图1所示为本申请一实施例提供的一种注入漏洞测试用例集的生成方法的流程图。
图2所示为本申请另一实施例提供的一种注入漏洞测试用例集的生成方法的流程图。
图3所示为本申请一实施例提供的一种第一特征集的得到方法的流程图。
图4所示为本申请一实施例提供的一种测试用例集的得到方法的流程图。
图5所示为本申请一实施例提供的一种注入漏洞测试用例集的生成装置的结构示意图。
图6所示为本申请另一实施例提供的一种注入漏洞测试用例集的生成装置的结构示意图。
图7是本申请一示例性实施例提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,在示例性实施例中,因为相同的参考标记表示具有相同结构的相同部件或相同方法的相同步骤,如果示例性地描述了一实施例,则在其他示例性实施例中仅描述与已描述实施例不同的结构或方法。
在整个说明书及权利要求书中,当一个部件描述为“连接”到另一部件,该一个部件可以“直接连接”到另一部件,或者通过第三部件“电连接”到另一部件。此外,除非明确地进行相反的描述,术语“包括”及其相应术语应仅理解为包括所述部件,而不应该理解为排除任何其他部件。
下面结合附图具体说明本申请提供的注入漏洞测试用例的生成方法、生成装置、计算机可读存储介质以及电子设备的具体实现方式:
图1所示为本申请一实施例提供的一种注入漏洞测试用例集的生成方法的流程图。如图1所示,该生成方法包括如下步骤:
步骤110:获取对应当前目标注入点的测试用例结构特征。
结构化查询语言注入漏洞(SQLIV)是指攻击者可以把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行指定的SQL语句。具体来说,它是利用现有应用程序,将SQL语句注入到后台数据库引擎执行攻击者所要的操作,通过在Web表单中输入SQL语句得到一个存在安全漏洞的网站上的数据,而不是按照设计者意图去执行SQL语句。因此,通过测试用例(SQL命令)来对特定的位置(如上述的Web表单提交或输入域名或页面请求的查询字符串等)进行测试,以获知存在服务器可能存在的注入漏洞,从而避免攻击者恶意获取服务器的信息泄露和丢失。
由于不同的目标注入点的测试用例的形式不同且对应同一个目标注入点可能存在多个测试用例,该多个测试用例构成一个测试用例集,为了更为全面的获取当前目标注入点的测试用例集,本申请实施例将测试用例提取出测试用例结构特征,且每个测试用例由其测试用例结构特征中的各个特征组合得到。在一实施例中,测试用例结构特征可以包括语句特征、语法特征和控制特征,并且,测试用例结构特征包括三个维度的特征,即测试用例结构特征包括语句特征、语法特征和控制特征这三个方面的特征的组合,根据语句特征、语法特征和控制特征的不同组合可以得到不同的测试用例结构特征。本申请实施例根据不同的当前目标注入点,获取符合当前目标注入点的所有可能的测试用例结构特征,以保证所有的测试用例都可以由测试用例结构特征中的部分特征组合而成,从而保证获取全面的测试用例集。
步骤120:根据测试用例结构特征中各个特征之间的约束关系,生成当前目标注入点的测试用例集。
测试用例结构特征中各个特征之间的不同组合可以得到所有的测试用例,根据测试用例结构特征中各个特征之间的约束关系可以获取适用于当前目标注入点的所有测试用例,测试用例集包括对应当前目标注入点的效果相同的多个测试用例,即测试用例集中的测试用例可以在当前目标注入点实现相同的效果或功能,例如不同测试用例可以在同一表单中获取其表单信息。
在一实施例中,多个语句特征可以包括关键词、注入模式、注入前缀和注入后缀等特征。在一实施例中,多个语法特征可以包括当前目标注入点的语法、原始查询子句的逻辑语义和注入后查询子句的逻辑语义。在一实施例中,多个控制特征可以包括当前目标注入点的响应处理方式、参数类型、关键词参数和参数注入方式。根据上述多个语句特征、多个语法特征和多个控制特征的不同取值的组合可以得到多个测试用例,即上述多个语句特征、多个语法特征和多个控制特征为构成测试用例的变量,通过改变各个变量的取值(例如改变关键词等)即可得到不同的测试用例。然而这些特征之间是存在一定的约束关系的,例如控制特征中的当前目标注入点的响应处理方式即服务器对于注入测试用例的响应处理方式,通常包括报错、显示界面的相似度变化和响应时间延长等。在一实施例中,注入测试用例的响应处理方式的获取方式可以是输入错误的指纹信息来获知响应处理方式。而针对不同的注入测试用例的响应处理方式,需要不同的注入模式,因此,控制特征中的注入测试用例的响应处理方式对于语句特征中的注入模式具有一定的约束能力或限制,本申请实施例根据语句特征、语法特征和控制特征之间的约束关系,以及各个语句特征之间的约束关系、各个语法特征之间的约束关系和各个控制特征之间的约束关系,生成适用于该当前目标注入点的所有测试用例,以形成测试用例集,从而可以保证测试用例集的全面性,保证注入漏洞测试的全面覆盖。
本发明实施例提供的一种注入漏洞测试用例的生成方法,根据需要测试的当前目标注入点,获取对应的测试用例结构特征,并且根据测试用例结构特征中各个特征之间的约束关系,生成测试用例集,得到可以测试该当前目标注入点的最为全面的测试用例集,从而提高测试的精度,避免因测试用例集覆盖不全而导致注入漏洞未测出的风险。
在一实施例中,步骤120的具体实现方式可以包括:选取满足约束关系的测试用例结构特征。每个测试用例都由上述11个特征构成,也就是说当每个特征有n个取值时,组合得到的测试用例的数量为n11,当n的数值较大时,测试用例的数量将是巨大的,然而这些测试用例中有很大一部分是无效的测试用例(即不满足约束关系的特征组合而成的测试用例),因此,根据各个特征之间的约束关系,选取符合约束关系的组合(即测试用例),从而避免无效测试用例造成繁重的测试工作。
图2所示为本申请另一实施例提供的一种注入漏洞测试用例集的生成方法的流程图。如图2所示,步骤120可以包括如下子步骤:
步骤121:选取语句特征和语法特征满足第一约束关系、语句特征和控制特征满足第二约束关系以及语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集。
根据语句特征和语法特征之间的第一约束关系、语句特征和控制特征之间的第二约束关系以及语法特征和控制特征之间的第三约束关系,可以获取分别满足第一约束关系、第二约束关系和第三约束关系的第一特征集,即第一特征集为选取测试用例结构特征中的部分结构特征。
步骤122:选取第一特征集中语句特征内各个特征之间满足第四约束关系、语法特征内各个特征之间满足第五约束关系以及控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到测试用例集。
根据语句特征内各个特征之间的第四约束关系、语法特征内各个特征之间的第五约束关系以及控制特征内各个特征之间的第六约束关系,可以获取分别满足第四约束关系、第五约束关系和第六约束关系的结构特征的集合,并且该结构特征的集合也同样满足第一约束关系、第二约束关系和第三约束关系,从而可以得到满足所有约束关系的结构特征的集合,根据该结构特征的集合内各个结构特征的组合即可得到测试用例集。
应当理解,本申请实施例可以根据实际应用场景的需求而确定上述步骤121和步骤122的顺序,例如可以先选取满足第四约束关系、第五约束关系和第六约束关系的结构特征的集合,然后选取满足第一约束关系、第二约束关系和第三约束关系的结构特征的集合,本申请实施例对此不做限定。
图3所示为本申请一实施例提供的一种第一特征集的得到方法的流程图。如图3所示,步骤121可以包括如下子步骤:
步骤1211:选取语句特征和语法特征满足第一约束关系的测试用例结构特征,得到第二特征集。
根据语句特征和语法特征之间的第一约束关系,可以获取满足第一约束关系的第二特征集。
步骤1212:选取第二特征集中语句特征和控制特征满足第二约束关系的测试用例结构特征,得到第三特征集。
根据语句特征和控制特征之间的第二约束关系,可以获取满足第二约束关系的第三特征集。
步骤1213:选取第三特征集中语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集。
根据语法特征和控制特征之间的第三约束关系,可以获取满足第三约束关系的第一特征集,并且第一特征集也同时满足第一约束关系和第二约束关系,即得到满足第一约束关系、第二约束关系和第三约束关系的第一特征集。
应当理解,本申请实施例可以根据实际应用场景的需求而确定上述步骤1211、1212和步骤1213的顺序,本申请实施例对此不做限定。
图4所示为本申请一实施例提供的一种测试用例集的得到方法的流程图。如图4所示,步骤122可以包括如下子步骤:
步骤1221:选取第一特征集中语句特征内各个特征之间满足第四约束关系的测试用例结构特征,得到第四特征集。
根据语句特征内各个特征之间的第四约束关系,可以获取满足第四约束关系的第四特征集。
步骤1222:选取第四特征集中语法特征内各个特征之间满足第五约束关系的测试用例结构特征,得到第五特征集。
根据语法特征内各个特征之间的第五约束关系,可以获取满足第五约束关系的第五特征集。
步骤1223:选取第五特征集中控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到测试用例集。
根据控制特征内各个特征之间的第六约束关系,可以获取满足第六约束关系的测试用例集,并且测试用例集也同时满足第四约束关系和第五约束关系,即得到满足第四约束关系、第五约束关系和第六约束关系的测试用例集。
应当理解,本申请实施例可以根据实际应用场景的需求而确定上述步骤1221、1222和步骤1223的顺序,本申请实施例对此不做限定。
在一实施例中,约束关系可以包括决定性约束关系,决定性约束关系为第一特征的取值对第二特征的取值范围的限定关系。当第一特征对第二特征的关系为决定性约束关系时,即第一特征的值限定了第二特征的取值范围,从而可以根据第一特征的值获取第二特征的取值范围,从而快速获取满足约束关系的测试用例,以提高测试用例的生成效率。
在一实施例中,多个控制特征对多个语句特征可以是决定性约束关系,上述第二约束关系为决定性约束关系,即控制特征(第一特征)的值限定了语句特征(第二特征)的取值范围。在进一步的实施例中,当前目标注入点的响应处理方式是服务器对于注入测试用例的响应处理方式,参数类型为注入点的参数类型,包括数字类型、字符串类型和无类型等,关键词参数决定了是否包含关键词,参数注入方式包括插入和替换等注入方式,控制特征均为服务器和当前目标注入点所决定的特征,不受其他特征的约束。并且,当前目标注入点的响应处理方式决定了注入模式,关键词参数和参数类型决定了是否含有关键词以及关键词的类型,参数注入方式决定了注入前缀和注入后缀,因此,控制特征对语句特征的约束关系为决定性约束关系。
在一实施例中,多个语法特征对多个语句特征可以包括决定性约束关系,上述第一约束关系为决定性约束关系,即语法特征(第一特征)的值限定了语句特征(第二特征)的取值范围。在进一步的实施例中,当前目标注入点的语法可以决定关键词的内容,即目标注入点的语法对关键词的约束关系为决定性约束关系。
在一实施例中,关键词可以决定注入模式和注入后缀,即关键词对注入模式和注入后缀的约束关系为决定性约束关系,即第四约束关系包括决定性约束关系。
在一实施例中,约束关系可以包括相互性约束关系,相互性约束关系为第三特征的取值范围与第四特征的取值范围之间的相互限定关系。当第三特征对第四特征的关系为相互性约束关系时,即第三特征的值限定了第四特征的取值范围,同时第四特征的值限定了第三特征的取值范围,从而可以根据第三特征的值获取第四特征的取值范围,或者根据第四特征的值获取第三特征的取值范围,从而快速获取满足约束关系的测试用例,以提高测试用例的生成效率。
在一实施例中,当前目标注入点的语法、原始查询子句的逻辑语义和注入后查询子句的逻辑语义之间为相互性约束关系,即当前目标注入点的语法、原始查询子句的逻辑语义和注入后查询子句的逻辑语义中任一项的值限定了另外两项的取值范围,上述第五约束关系为相互性约束关系。在一实施例中,注入前缀和注入模式之间、注入前缀和注入后缀之间、注入前缀和关键词之间为相互性约束关系,即第四约束关系包括相互性约束关系。
在一实施例中,控制特征与语法特征之间无约束关系,即上述第三约束关系为无约束关系。在一实施例中,控制特征内各个特征之间无约束关系,即上述第六约束关系为无约束关系。
图5所示为本申请一实施例提供的一种注入漏洞测试用例集的生成装置的结构示意图。如图5所示,该生成装置50包括:获取模块51,用于获取对应当前目标注入点的测试用例结构特征;以及生成模块52,用于根据测试用例结构特征中各个特征之间的约束关系,生成当前目标注入点的测试用例集;其中,测试用例集包括对应当前目标注入点的多个测试用例。
本发明实施例提供的一种注入漏洞测试用例的生成装置,获取模块51根据需要测试的当前目标注入点,获取对应的测试用例结构特征;并且生成模块52根据测试用例结构特征中各个特征之间的约束关系,生成测试用例集,得到可以测试该当前目标注入点的最为全面的测试用例集,从而提高测试的精度,避免因测试用例集覆盖不全而导致注入漏洞未测出的风险。
在一实施例中,测试用例结构特征可以包括语句特征、语法特征和控制特征。在进一步的实施例中,多个语句特征包括关键词、注入模式、注入前缀和注入后缀等特征。在进一步的实施例中,多个语法特征包括当前目标注入点的语法、原始查询子句的逻辑语义和注入后查询子句的逻辑语义。在进一步的实施例中,多个控制特征包括当前目标注入点的响应处理方式、参数类型、关键词参数和参数注入方式。在一实施例中,注入测试用例的响应处理方式的获取方式可以是输入错误的指纹信息来获知响应处理方式。本申请实施例根据语句特征、语法特征和控制特征之间的约束关系,以及各个语句特征之间的约束关系、各个语法特征之间的约束关系和各个控制特征之间的约束关系,生成适用于该当前目标注入点的所有测试用例,以形成测试用例集,从而可以保证测试用例集的全面性,保证注入漏洞测试的全面覆盖。
在一实施例中,生成模块52可以进一步配置为:选取满足约束关系的测试用例结构特征。根据各个特征之间的约束关系,选取符合约束关系的组合(即测试用例),从而避免无效测试用例造成繁重的测试工作。
图6所示为本申请另一实施例提供的一种注入漏洞测试用例集的生成装置的结构示意图。如图6所示,该生成模块52可以包括:第一选取子模块521,用于选取语句特征和语法特征满足第一约束关系、语句特征和控制特征满足第二约束关系以及语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集;第二选取子模块522,用于选取第一特征集中语句特征内各个特征之间满足第四约束关系、语法特征内各个特征之间满足第五约束关系以及控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到测试用例集。
在一实施例中,如图6所示,第一选取子模块521可以包括:第一选取单元5211,用于选取语句特征和语法特征满足第一约束关系的测试用例结构特征,得到第二特征集;第二选取单元5212,用于选取第二特征集中语句特征和控制特征满足第二约束关系的测试用例结构特征,得到第三特征集;第三选取单元5213,用于选取第三特征集中语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集。
在一实施例中,如图6所示,第二选取子模块522可以包括:第四选取单元5221,用于选取第一特征集中语句特征内各个特征之间满足第四约束关系的测试用例结构特征,得到第四特征集;第五选取单元5222,用于选取第四特征集中语法特征内各个特征之间满足第五约束关系的测试用例结构特征,得到第五特征集;第六选取单元5223,用于选取第五特征集中控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到测试用例集。
在一实施例中,约束关系可以包括决定性约束关系,决定性约束关系包括第一特征的取值对第二特征的取值范围的限定关系。在一实施例中,多个控制特征对多个语句特征可以包括决定性约束关系。在一实施例中,多个语法特征对多个语句特征可以包括决定性约束关系。在进一步的实施例中,当前目标注入点的语法可以决定关键词的内容,即目标注入点的语法对关键词的约束关系为决定性约束关系。在一实施例中,关键词可以决定注入模式和注入后缀,即关键词对注入模式和注入后缀的约束关系为决定性约束关系。
在一实施例中,约束关系可以包括相互性约束关系,相互性约束关系包括第三特征的取值范围与第四特征的取值范围之间的相互限定关系。在一实施例中,当前目标注入点的语法、原始查询子句的逻辑语义和注入后查询子句的逻辑语义之间为相互性约束关系。在一实施例中,注入前缀和注入模式之间、注入前缀和注入后缀之间、注入前缀和关键词之间为相互性约束关系。
下面,参考图7来描述根据本申请实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图7图示了根据本申请实施例的电子设备的框图。
如图7所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的注入漏洞测试用例的生成方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备或第二设备时,该输入装置13可以是数据传送装置,用于传送代码的输入信号。在该电子设备是单机设备时,该输入装置13可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入设备13还可以包括例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的注入漏洞测试用例的生成方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的注入漏洞测试用例的生成方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (8)

1.一种注入漏洞测试用例集的生成方法,其特征在于,包括:获取对应当前目标注入点的测试用例结构特征;以及根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集;其中,所述测试用例集包括对应所述当前目标注入点的多个测试用例;
所述测试用例结构特征包括语句特征、语法特征和控制特征;
所述根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集包括:选取语句特征和语法特征满足第一约束关系、语句特征和控制特征满足第二约束关系以及语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集;以及选取所述第一特征集中语句特征内各个特征之间满足第四约束关系、语法特征内各个特征之间满足第五约束关系以及控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到所述测试用例集。
2.根据权利要求1所述的生成方法,其特征在于,所述根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集包括:选取满足所述约束关系的所述测试用例结构特征。
3.根据权利要求1所述的生成方法,其特征在于,所述选取语句特征和语法特征满足第一约束关系、语句特征和控制特征满足第二约束关系以及语法特征和控制特征满足第三约束关系的测试用例结构特征,得到第一特征集包括:选取语句特征和语法特征满足第一约束关系的测试用例结构特征,得到第二特征集;选取所述第二特征集中语句特征和控制特征满足第二约束关系的测试用例结构特征,得到第三特征集;以及选取所述第三特征集中语法特征和控制特征满足第三约束关系的测试用例结构特征,得到所述第一特征集。
4.根据权利要求1所述的生成方法,其特征在于,所述选取所述第一特征集中语句特征内各个特征之间满足第四约束关系、语法特征内各个特征之间满足第五约束关系以及控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到所述测试用例集包括:选取所述第一特征集中语句特征内各个特征之间满足第四约束关系的测试用例结构特征,得到第四特征集;选取所述第四特征集中语法特征内各个特征之间满足第五约束关系的测试用例结构特征,得到第五特征集;以及选取所述第五特征集中控制特征内各个特征之间满足第六约束关系的测试用例结构特征,得到所述测试用例集。
5.根据权利要求1或2所述的生成方法,其特征在于,所述约束关系包括决定性约束关系和/或相互性约束关系。
6.根据权利要求1所述的一种注入漏洞测试用例集的生成方法的实现装置,其特征在于,包括:获取模块,用于获取对应当前目标注入点的测试用例结构特征;以及生成模块,用于根据所述测试用例结构特征中各个特征之间的约束关系,生成所述当前目标注入点的测试用例集;其中,所述测试用例集包括对应所述当前目标注入点的多个测试用例。
7.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-5任一所述的注入漏洞测试用例的生成方法。
8.一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述权利要求1-5任一所述的注入漏洞测试用例的生成方法。
CN202010301315.5A 2020-04-16 2020-04-16 注入漏洞测试用例的生成方法、装置、介质及电子设备 Active CN111488287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010301315.5A CN111488287B (zh) 2020-04-16 2020-04-16 注入漏洞测试用例的生成方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010301315.5A CN111488287B (zh) 2020-04-16 2020-04-16 注入漏洞测试用例的生成方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN111488287A CN111488287A (zh) 2020-08-04
CN111488287B true CN111488287B (zh) 2023-05-16

Family

ID=71798788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010301315.5A Active CN111488287B (zh) 2020-04-16 2020-04-16 注入漏洞测试用例的生成方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN111488287B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515748A (zh) * 2021-05-20 2021-10-19 云账户技术(天津)有限公司 一种检测sql注入的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894237A (zh) * 2010-08-03 2010-11-24 南开大学 应用遗传算法自动生成xss跨站点脚本漏洞检测参数的方法
CN102592084A (zh) * 2011-12-27 2012-07-18 奇智软件(北京)有限公司 一种漏洞修复客户端逻辑的测试方法及系统
CN108256334A (zh) * 2018-01-26 2018-07-06 平安科技(深圳)有限公司 漏洞测试方法、装置、计算机设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136051B (zh) * 2011-05-06 2013-02-20 南开大学 一种应用SGM-SQL注入模型驱动web应用渗透测试的方法
CN103780614B (zh) * 2014-01-21 2016-12-07 金华比奇网络技术有限公司 一种基于模拟攻击扩展的sql注入漏洞挖掘方法
CN104391793B (zh) * 2014-11-27 2017-07-14 中国联合网络通信集团有限公司 测试步骤及测试脚本生成方法及装置
CN106354638A (zh) * 2016-08-29 2017-01-25 广州唯品会信息科技有限公司 基于词法分析的自动测试方法及装置
US10394694B2 (en) * 2018-01-15 2019-08-27 Fujitsu Limited Unexplored branch search in hybrid fuzz testing of software binaries
CN109902002B (zh) * 2019-02-14 2020-06-02 浙江口碑网络技术有限公司 组合测试用例的生成方法及装置、存储介质、计算机设备
CN110543421B (zh) * 2019-08-31 2022-03-29 华南理工大学 基于测试用例自动生成算法的单元测试自动执行方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894237A (zh) * 2010-08-03 2010-11-24 南开大学 应用遗传算法自动生成xss跨站点脚本漏洞检测参数的方法
CN102592084A (zh) * 2011-12-27 2012-07-18 奇智软件(北京)有限公司 一种漏洞修复客户端逻辑的测试方法及系统
CN108256334A (zh) * 2018-01-26 2018-07-06 平安科技(深圳)有限公司 漏洞测试方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
练坤梅 ; 许静 ; 田伟 ; 张莹 ; .SQL注入漏洞多等级检测方法研究.计算机科学与探索.2011,(第05期),全文. *

Also Published As

Publication number Publication date
CN111488287A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
Trinh et al. S3: A symbolic string solver for vulnerability detection in web applications
US10177996B2 (en) System and method for validating documentation of representational state transfer (REST) services
Wassermann et al. Sound and precise analysis of web applications for injection vulnerabilities
Halfond et al. Preventing SQL injection attacks using AMNESIA
US10915702B2 (en) Methods and systems for validating multiple methods of input using a unified rule set
Bisht et al. Waptec: whitebox analysis of web applications for parameter tampering exploit construction
WO2021017735A1 (zh) 一种智能合约的形式化验证方法、电子装置及存储介质
CN105302710A (zh) 一种确定需要回归测试的测试用例的方法和装置
CN101268468A (zh) 认证脚本代码源的方法和设备
KR101554424B1 (ko) 테스트 케이스 생성 자동화 방법 및 장치
Akrout et al. An automated black box approach for web vulnerability identification and attack scenario generation
RU2652451C2 (ru) Способы обнаружения аномальных элементов веб-страниц
US11947976B2 (en) System and method for semantic metadata extensions in API governance using validation rulesets
CN109062965B (zh) 大数据分析系统、服务器、数据处理方法和存储介质
Sakai et al. Rough set‐based rule generation and Apriori‐based rule generation from table data sets: a survey and a combination
Zhuo et al. Long short‐term memory on abstract syntax tree for SQL injection detection
CN110086827A (zh) 一种sql注入校验方法、服务器以及系统
CN111488287B (zh) 注入漏洞测试用例的生成方法、装置、介质及电子设备
Jekjantuk et al. Modelling and reasoning in metamodelling enabled ontologies
CN112182037B (zh) 数据校验方法、装置、设备以及存储介质
US20080022353A1 (en) Framework to simplify security engineering
Marchand et al. Low‐level implementation and side‐channel detection of stealthy hardware trojans on field programmable gate arrays
CA3203549A1 (en) Unified verification method, device, equipment and storage medium
US11823701B2 (en) Network operation based on domain specific language
KR20130002365A (ko) 메타 패턴을 이용한 웹쉘 탐지 장치

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210202

Address after: No.38, Tongyan Road, Haihe Education Park, Jinnan District, Tianjin

Applicant after: NANKAI University

Applicant after: STATE GRID TIANJIN ELECTRIC POWER Co.

Applicant after: STATE GRID CORPORATION OF CHINA

Address before: No.38, Tongyan Road, Haihe Education Park, Jinnan District, Tianjin

Applicant before: NANKAI University

Applicant before: STATE GRID TIANJIN ELECTRIC POWER Co.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240220

Address after: 300384 No. 8, Haitai Huake 4th Road, Binhai New Area, Tianjin

Patentee after: ELECTRIC POWER SCIENCE & RESEARCH INSTITUTE OF STATE GRID TIANJIN ELECTRIC POWER Co.

Country or region after: China

Patentee after: STATE GRID TIANJIN ELECTRIC POWER Co.

Patentee after: STATE GRID CORPORATION OF CHINA

Patentee after: NANKAI University

Address before: No.38, Tongyan Road, Haihe Education Park, Jinnan District, Tianjin

Patentee before: NANKAI University

Country or region before: China

Patentee before: STATE GRID TIANJIN ELECTRIC POWER Co.

Patentee before: STATE GRID CORPORATION OF CHINA