应用程序安全测试方法、装置和计算机可读存储介质制造方法及图纸

技术编号:22364415 阅读:15 留言:0更新日期:2019-10-23 04:48
本申请涉及一种应用程序安全测试方法、装置、计算机可读存储介质和计算机设备,当检测到待测试应用程序发送目标请求时,拦截所述目标请求;通过预设的安全测试接口获取目标请求中的第一请求内容;根据第一请求内容进行显示;获取第二请求内容,第二请求内容是基于第一请求内容进行调整后的请求内容;基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果。通过安全测试接口获取待测试应用程序发送目标请求中的第一请求内容,并通过安全测试接口基于第二请求内容与应用程序服务器进行数据交互,对待测试应用程序进行安全测试,在应用程序安全测试的过程中,仅通过安全测试接口就可以完成安全测试。

Application security test methods, devices and computer readable storage media

【技术实现步骤摘要】
应用程序安全测试方法、装置和计算机可读存储介质
本申请涉及计算机
,特别是涉及一种应用程序安全测试方法、装置、计算机可读存储介质和计算机设备。
技术介绍
随着计算机
的发展,通过Unity3D(一种游戏引擎)和IL2CPP技术(Unity3D的一种将IL代码翻译成本地代码并执行的技术)开发的游戏越来越多,而开发完成的游戏是很有必要进行安全测试的,以保证游戏的正常运行。而使用IL2CPP技术开发的游戏,其原始c#代码已全被转为c++代码,c++代码经过编译已经变成了本地代码。针对本地代码的游戏测试,现有方案一般通过静态反汇编工具找到存在风险的函数,并通过c++函数hook(钩子)技术对该函数进行参数修改测试。因此,针对某些复杂的测试用例,由于构造本地函数调用的成本极高,这些测试用例逻辑往往无法实现,安全测试的覆盖范围较低。
技术实现思路
基于此,有必要针对安全测试的覆盖范围较低的问题,提供一种应用程序安全测试方法、装置、计算机可读存储介质和计算机设备。一种应用程序安全测试方法,包括:当检测到待测试应用程序发送目标请求时,拦截所述目标请求;通过预设的安全测试接口获取所述目标请求中的第一请求内容;根据所述第一请求内容进行显示;获取第二请求内容,所述第二请求内容是基于所述第一请求内容进行调整后的请求内容;基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果。在其中一个实施例中,所述通过所述待测试应用程序的底层接口,查找实现反射机制的目标函数的函数地址,获得所述目标函数的函数地址的步骤,包括:通过所述待测试应用程序的底层接口根据函数名、函数所在的类名或类所在的程序集名查找实现反射机制的目标函数的函数地址,获得所述目标函数的函数地址。在其中一个实施例中,所述当检测到待测试应用程序发送目标请求时,拦截所述目标请求的步骤,包括:通过钩子函数对待测试应用程序发送的目标请求进行检测,并对测到发送接口发送的目标请求进行拦截。在其中一个实施例中,所述根据预设的数据转换方式对所述二进制数据流进行转换,获得第一请求内容的步骤,包括:通过预设的所述安全测试接口调用反序列函数对所述二进制数据流进行转换,获得对象;将所述对象打包成可读文本,所述可读文本中的内容包括第一请求内容。在其中一个实施例中,所述通过预设的所述安全测试接口根据所述第二请求内容,创建新请求的步骤,包括:通过预设的所述安全测试接口调用目标请求对应的请求发送函数;根据所述第二请求内容构造所述请求发送函数的参数,获得实例;根据所述实例获得新请求。在其中一个实施例中,所述向应用程序服务器发送所述新请求,获得安全测试结果的步骤,包括:向应用程序服务器发送所述新请求,使应用程序服务器根据所述新请求进行处理后,反馈处理结果;根据所述处理结果,确定安全测试结果。一种应用程序安全测试装置,包括:请求拦截模块,用于当检测到待测试应用程序发送目标请求时,拦截所述目标请求;第一请求内容获取模块,用于通过预设的安全测试接口获取所述目标请求中的第一请求内容;第一请求内容显示模块,用于根据所述第一请求内容进行显示;第二请求内容获取模块,用于获取第二请求内容,所述第二请求内容是基于所述第一请求内容进行调整后的请求内容;测试模块,用于基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果。一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述方法的步骤。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述方法的步骤。上述应用程序安全测试方法、装置、计算机可读存储介质和计算机设备,当检测到待测试应用程序发送目标请求时,拦截所述目标请求;通过预设的安全测试接口获取目标请求中的第一请求内容;根据第一请求内容进行显示;获取第二请求内容,第二请求内容是基于第一请求内容进行调整后的请求内容;基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果。通过安全测试接口获取待测试应用程序发送目标请求中的第一请求内容,并通过安全测试接口基于第二请求内容与应用程序服务器进行数据交互,对待测试应用程序进行安全测试,在应用程序安全测试的过程中,仅通过安全测试接口就可以完成安全测试。附图说明图1为一个实施例中应用程序安全测试方法的应用环境图;图2为一个实施例中应用程序安全测试方法的流程示意图;图3为一个实施例中安全测试接口的部分接口界面示意图;图4为一个实施例中第一请求内容的显示界面图;图5为一个实施例中应用程序安全测试方法的交互示意图;图6为一个实施例中应用程序安全测试方法的安全测试接口的框架图;图7为一个实施例中应用程序安全测试装置的结构框图;图8为另一个实施例中应用程序安全测试装置的结构框图;图9为一个实施例中计算机设备的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中应用程序安全测试方法的应用环境图。参照图1,该应用环境涉及终端110及应用程序服务器120。终端110和应用程序服务器120通过网络连接。终端110在检测到待测试应用程序发送目标请求时,拦截目标请求;通过预设的安全测试接口获取目标请求中的第一请求内容;根据第一请求内容进行显示;获取第二请求内容,第二请求内容是基于第一请求内容进行调整后的请求内容;基于第二请求内容与应用程序服务器120进行数据交互,获得安全测试结果。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。应用程序服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。如图2所示,在一个实施例中,提供了一种应用程序安全测试方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该应用程序安全测试方法具体包括如下步骤:步骤S220,当检测到待测试应用程序发送目标请求时,拦截目标请求。其中,待测试应用程序指的是需要进行安全测试的应用程序,该应用程序可以是基于Unity3D编写的原始的c#代码,并使用IL2CPP技术执行的游戏程序,也可以是其他应用程序,只要是需要进行安全测试的应用程序都可以作为待测试应用程序。目标请求指终端运行的待测试应用程序,与应用程序服务器进行交互时,向应用程序服务器发送的请求,该目标请求可以是待测试应用程序与应用程序服务器进行交互时,向应用程序服务器发送的任何一个请求,也可以是待测试应用程序与应用程序服务器进行交互时,向应用程序服务器发送的特殊请求,比如购买游戏装备的请求等等。在一个实施例中,当检测到待测试应用程序发送目标请求时,拦截目标请求的步骤,包括:通过钩子函数对待测试应用程序发送的目标请求进行检测,并对测到发送接口发送的目标请求进行拦截。其中,钩子(hook)是一种计算机技术,在没有源码的情况下,通过汇编的跳转指令实现修改目标函数的执行流程。钩子函数指的是用以处理或过滤事件消息的程序,该钩子函数挂入待测试应用程序,用于监视待测试应用程序发送的目标请求,并拦截该目标请求。步本文档来自技高网...

【技术保护点】
1.一种应用程序安全测试方法,包括:当检测到待测试应用程序发送目标请求时,拦截所述目标请求;通过预设的安全测试接口获取所述目标请求中的第一请求内容;根据所述第一请求内容进行显示;获取第二请求内容,所述第二请求内容是基于所述第一请求内容进行调整后的请求内容;基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果。

【技术特征摘要】
1.一种应用程序安全测试方法,包括:当检测到待测试应用程序发送目标请求时,拦截所述目标请求;通过预设的安全测试接口获取所述目标请求中的第一请求内容;根据所述第一请求内容进行显示;获取第二请求内容,所述第二请求内容是基于所述第一请求内容进行调整后的请求内容;基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果。2.根据权利要求1所述的方法,其特征在于,所述安全测试接口的生成方式包括:通过所述待测试应用程序的底层接口,查找实现反射机制的目标函数的函数地址,获得所述目标函数的函数地址;根据所述函数地址调用所述目标函数,并对所述目标函数进行封装,形成安全测试接口。3.根据权利要求2所述的方法,其特征在于,所述根据所述函数地址调用所述目标函数,并对所述目标函数进行封装,形成安全测试接口的步骤,包括:根据所述函数地址调用所述目标函数,并采用C#语言对所述目标函数进行封装,形成安全测试接口。4.根据权利要求1所述的方法,其特征在于,所述通过预设的安全测试接口获取所述目标请求中的第一请求内容的步骤,包括:通过预设的安全测试接口获取所述目标请求中的请求数据;当所述请求数据为二进制数据流时,根据预设的数据转换方式对所述二进制数据流进行转换,获得第一请求内容。5.根据权利要求1所述的方法,其特征在于,所述基于所述第二请求内容与应用程序服务器进行数据交互,获得安全测试结果的步骤,包括:通过预设的所述安全测试接口根据所述第二请求内容,创建新请求;向应用程...

【专利技术属性】
技术研发人员:周江王建行李建颖罗德志王枭蒋洪伟杨伟刘鹏胥培邱学倩
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1