接口模糊测试的方法及装置制造方法及图纸

技术编号:37122104 阅读:29 留言:0更新日期:2023-04-01 05:17
本申请公开一种接口模糊测试的方法及装置,其中方法包括:从待测应用中导出符合OpenAPI规范的接口文档,接口文档中包括目标接口的所有信息;根据接口文档生成文档对象模型;创建Etree.document结构体,根据解析得到的文档对象模型的所有信息在Etree.document结构体依次生成不同的元素;生成目标接口的XML模板;将XML模板输入至预设的模糊测试引擎;模糊测试引擎解析XML模板,并基于模糊测试引擎的变异算法对解析得到的目标接口的请求参数进行变异赋值得到变异数据包;模糊测试引擎将变异数据包输入至目标接口并根据目标接口返回的响应信息确定是否检测到漏洞。本申请不需要详细了解单个漏洞的详细信息和检测逻辑以及收集不同漏洞payload的操作,有利于降低接口测试的难度与工程量。低接口测试的难度与工程量。低接口测试的难度与工程量。

【技术实现步骤摘要】
接口模糊测试的方法及装置


[0001]本申请涉及模糊测试
,具体涉及一种接口模糊测试的方法及装置。

技术介绍

[0002]1989年,Wisconsin大学的Barton Miller教授提出了模糊测试(Fuzz)的概念。这是一种基于缺陷注入的漏洞挖掘方法,这项技术的基本方法是向应用程序、待测设备或者目标测试系统注入畸形的、非预期的数据去挖掘软件漏洞。相对而言,模糊测试的研究领域较为宽泛。从软件漏洞发掘技术的分类标准来看,模糊测试主要着眼于黑盒测试和灰盒测试领域。
[0003]当前产品对接口进行漏洞测试的时候,大多是通过提前对漏洞进行详细的分析,提前内置不同漏洞检测逻辑,内置大量的不同漏洞的针对性的payload,再根据接口响应的特征,进行特征检测的方式来检测接口漏洞,例如对于sql注入漏洞的检测,一般的检测逻辑分为布尔注入,错误注入,时间注入,orderby注入等,也就是说接口测试需要提前了解每一种漏洞的详细信息以及检测逻辑,由于漏洞分类多,payload也多,导致工程量巨大,难度高。

技术实现思路
<br/>[0004]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种接口模糊测试的方法,其特征在于,包括:针对待测应用的目标接口,从所述待测应用中导出符合OpenAPI规范的接口文档,所述接口文档中包括所述目标接口的所有信息;根据所述接口文档中的所述所有信息生成文档对象模型;创建Etree.document结构体,根据解析得到的所述文档对象模型的所有信息在所述Etree.document结构体依次生成不同的元素;调用所述Etree.document结构体的内置方法生成所述目标接口的XML模板,所述XML模板包含所述目标接口的所有信息;将所述XML模板输入至预设的模糊测试引擎;所述模糊测试引擎解析所述XML模板,并基于所述模糊测试引擎的变异算法对解析得到的所述目标接口的请求参数进行变异赋值得到变异数据包;所述模糊测试引擎将所述变异数据包输入至所述目标接口并根据所述目标接口返回的响应信息确定是否检测到漏洞。2.如权利要求1所述的接口模糊测试的方法,其特征在于,所述根据所述接口文档中的所述所有信息生成文档对象模型包括:解析所述接口文档中的所述所有信息并根据解析到的所述所有信息生成自定义的数据结构,所述自定义的数据结构中包括所述目标接口的所有信息;解析所述自定义的数据结构并将解析到的所述自定义的数据结构的数据赋值给定义的所述文档对象模型的参数。3.如权利要求1所述的接口模糊测试的方法,其特征在于,利用所述GO语言的第三方库对所述文档对象模型进行解析。4.如权利要求1所述的接口模糊测试的方法,其特征在于,所述请求参数包括所述目标接口的请求方式、请求URL、请求头和请求体。5.如权利要求1所述的接口模糊测试的方法,其特征在于,所述变异算法包括倒序算法、大写转小写算法和/或随机数算法。6.如权利要求1所述的接口模糊测试的方法,其特征在于,所述模糊测试引擎通过HttpClient将所述变异数据包输入至所述目标接...

【专利技术属性】
技术研发人员:汪凡万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1