【技术实现步骤摘要】
基于正则动态匹配请求参数并修改的方法及系统
本专利技术涉及计算机软件测试
,尤其涉及一种基于正则动态匹配请求参数并修改的方法及系统。
技术介绍
随着网络技术的发展,web应用的数据也有着指数型的增长,同时应用的接口数量也越来越多,为了保证应用程序正常运行,需要产品在上线前对其有着充分的测试,其中包括判断是否存在越权漏洞。常见的有基于请求重发,来测试业务功能是否正常,比如:某请求只允许管理员访问,但是如果以普通用户的身份重新发送该请求也能得到相同的响应结果,即可认为存在越权漏洞。为了做到成分测试,一般会多次运行测试实例,但是,同一个业务系统一般不会允许同时存在两份相同的数据,那么第二次请求重发的时候得到的响应结果可能就会跟第一次的响应结果不一致,这时就需对请求参数进行修改,然而,在对请求参数进行参数修改的时候,如需动态匹配请求参数的正则,目前一般通过轮询验证请求的所有参数和预设的所有正则,这种做法每增加一条新的请求都需要重新执行一遍相同的过程,导致参数修改不够灵活,存在以下问题:1、耗时长,时间效率为请求数量*请 ...
【技术保护点】
1.一种基于正则动态匹配请求参数并修改的方法,其特征在于,包括如下步骤:/nS1、获取请求数据中的请求参数及其对应的参数值;所述请求数据来源于应用程序的测试实例,且所述请求数据符合HTTP请求结构;/nS2、对步骤S1获取到的请求参数进行预处理:将所述请求参数中需要替换字段值的字段名设置为白名单,将所述请求参数中的无须替换字段值的字段名设置为黑名单,并将所述白名单中的所述字段名和与之相应的正则表达式绑定;/nS3、测试过程中,获取当前请求参数中的所有字段名,并根据步骤S2判断当前字段名处于白名单亦或者是黑名单,如果处于白名单中,进入下述步骤S4,如果处于黑名单中,直接跳过; ...
【技术特征摘要】
1.一种基于正则动态匹配请求参数并修改的方法,其特征在于,包括如下步骤:
S1、获取请求数据中的请求参数及其对应的参数值;所述请求数据来源于应用程序的测试实例,且所述请求数据符合HTTP请求结构;
S2、对步骤S1获取到的请求参数进行预处理:将所述请求参数中需要替换字段值的字段名设置为白名单,将所述请求参数中的无须替换字段值的字段名设置为黑名单,并将所述白名单中的所述字段名和与之相应的正则表达式绑定;
S3、测试过程中,获取当前请求参数中的所有字段名,并根据步骤S2判断当前字段名处于白名单亦或者是黑名单,如果处于白名单中,进入下述步骤S4,如果处于黑名单中,直接跳过;
S4、根据字段名绑定的正则表达式修改相应的字段值,以对所述请求参数进行更新。
2.根据权利要求1所述的基于正则动态匹配请求参数并修改的方法,其特征在于,在步骤S1中,提取所述请求参数前,先提取当前测试平台下所有请求的域名、端口、应用程序名称和请求实例,以形成层次化的数据结构;然后,在步骤S2中,以所述层次化的数据结构添加对所述字段名预处理的作用范围。
3.根据权利要求1所述的基于正则动态匹配请求参数并修改的方法,其特征在于,在步骤S3中,如果当前字段名既不属于白名单也不属于黑名单,依据不同类型的正则表达式逐个匹配与该字段名对应的字段值,得到与该字段值匹配的正则表达式,然后将该字段名和该正则表达式绑定为映射关系。
4.根据权利要求1所述的基于正则动态匹配请求参数并修改的方法,其特征在于,步骤S1中,所述请求参数包括从原始请求数据中提取到的URL查询参数和请求体数据。
5.一种基于正则动态匹配请求参数并修改的系统,其特征在于,包括请求数据提取模块、预处理模块、判断模块和修改模块;所述数据提取模块,用于提取请求数据中的请求参数及其对应的参数值,所述请求数据来源于应用程序的测试实例,且所述请求数据符合HTTP请求结构;所述预处理模块,用于...
【专利技术属性】
技术研发人员:刘海涛,万振华,王颉,李华,董燕,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。