【技术实现步骤摘要】
一种web接口安全测试方法、装置、设备及存储介质
[0001]本专利技术涉及接口安全测试领域,特别涉及一种web接口安全测试方法、装置、设备及存储介质。
技术介绍
[0002]Web接口安全黑盒自动化测试需要构造请求值并向服务端发送请求,根据响应信息判断漏洞是否存在。服务端部分接口在请求参数值进入真正的业务处理逻辑代码前,会对参数值进行解码、解密等处理,对应的也会在前端js代码中进行相应的编码、加密操作,那么web扫描器就需要构造符合服务端参数格式的请求。
[0003]但是目前大多数扫描器提取API(Application Programming Interface,应用程序编程接口)接口地址的方法通常是对dom(document object model,文本对象模型)元素进行输入、点击等操作,并在js请求发送前进行拦截及参数值提取,从而获取请求信息,并以此请求为基础修改参数值等进行通常的接口安全测试。但在此过程中没有考虑到js端对参数的编码、加密等预处理,直接对参数值进行替换等测试,导致服务端在请求参数值格式检查 ...
【技术保护点】
【技术特征摘要】
1.一种web接口安全测试方法,其特征在于,应用于web端,包括:触发dom元素事件,并对dom元素输入值进行标记得到标记信息;调用用于标记信息传递的js方法并在所述js方法执行完毕后,监听js原生请求方法,并对相应的请求参数进行标记来源回溯以及运行上下文分析,以得到与所述请求参数对应的dom元素;基于所述请求参数以及与所述请求参数对应的dom元素构建关系表;从所述关系表中确定与待测试参数对应的目标dom元素,并基于所述目标dom元素构建安全测试用例,以对web接口进行自动化测试。2.根据权利要求1所述的web接口安全测试方法,其特征在于,所述对dom元素输入值进行标记得到标记信息之前,还包括:通过向网页js中的运行上下文注入用于对dom元素输入值进行标记的js代码;相应的,所述对dom元素输入值进行标记得到标记信息,包括:在所述js代码监听到dom元素输入值时,拦截针对dom元素输入值的读取方法,并对所述读取方法中的dom元素输入值进行标记,以得到标记信息;所述标记信息包括dom元素对应的位置信息。3.根据权利要求1所述的web接口安全测试方法,其特征在于,所述调用用于标记信息传递的js方法之前,还包括:在底层v8引擎生成的抽象语法树中的执行节点后插入针对js层定义的js方法的调用节点;相应的,所述调用用于标记信息传递的js方法,包括:通过所述调用节点调用所述js方法,以利用所述js层控制标记信息的传递操作。4.根据权利要求1至3任一项所述的web接口安全测试方法,其特征在于,所述监听js原生请求方法,并对相应的请求参数进行标记来源回溯以及运行上下文分析,以得到与所述请求参数对应的dom元素,包括:监听js原生请求方法,并通过重写所述js原生请求方法对应的原型对象,以获取请求参数;对所述请求参数进行解析以提取请求参数值,并对所述请求参数值进行标记来源回溯以及运行上下文分析,得到与所述请求参数对应的dom元素。5.根据权利要求4所述的web接口安全测试方法,其特征在于,所述对所述请求参数值进行标记来源回溯以及运行上下文分析,得到与所述请求参数对应的dom元素,包括:对所述请求参数值进行标记...
【专利技术属性】
技术研发人员:杨珍,范渊,赵旭,
申请(专利权)人:杭州安恒信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。