CN105553775B - 一种测试系统中信息的获取方法、装置及测试系统 - Google Patents

一种测试系统中信息的获取方法、装置及测试系统 Download PDF

Info

Publication number
CN105553775B
CN105553775B CN201510996131.4A CN201510996131A CN105553775B CN 105553775 B CN105553775 B CN 105553775B CN 201510996131 A CN201510996131 A CN 201510996131A CN 105553775 B CN105553775 B CN 105553775B
Authority
CN
China
Prior art keywords
network request
request packet
network
application program
information
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
CN201510996131.4A
Other languages
English (en)
Other versions
CN105553775A (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.)
Zhuhai Baoqu Technology Co Ltd
Original Assignee
Zhuhai Seal Interest Technology 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 Zhuhai Seal Interest Technology Co Ltd filed Critical Zhuhai Seal Interest Technology Co Ltd
Priority to CN201510996131.4A priority Critical patent/CN105553775B/zh
Publication of CN105553775A publication Critical patent/CN105553775A/zh
Application granted granted Critical
Publication of CN105553775B publication Critical patent/CN105553775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种测试系统中信息的获取方法、装置及测试系统。该方法包括:在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。采用本发明实施例,能够更加深度的挖掘该应用程序的网络交互部分的漏洞。

Description

一种测试系统中信息的获取方法、装置及测试系统
技术领域
本发明涉及网络安全技术领域,尤其涉及一种测试系统中信息的获取方法、装置及测试系统。
背景技术
测试系统在对应用程序进行测试的过程中,可根据不同维度对该应用程序进行测试,如通过静态测试或通过动态测试等。其中,静态测试不实际运行该应用程序,仅检测该应用程序现存的程序代码、界面或文档中的漏洞。举例说明,静态测试通过对应用程序的安装包的自身属性进行扫描,若该安装包配置了允许备份(英文:allowBackup)的属性,则可通过静态测试检测出该安装包存在导致备份隐私泄露的漏洞,若该安装包配置了运行信任所有的目标主机的属性,则可通过静态测试检测出可能引起中间人攻击的漏洞。也可对该应用程序执行动态测试,即实际运行该应用程序,模拟输入相应的测试数据,通过监测获取在此过程中应用程序所产生的请求,并通过对获取的请求进行测试,以判断该请求是否产生预期外的响应,若产生预期外的响应,则表明存在漏洞。
然而,由于当前的测试系统仅能够通过静态测试检测应用程序安装包的网络属性中的漏洞,而无法检测到应用程序在模拟运行时向网络发送的动态请求包,从而无法动态测试应用程序与网络的交互漏洞,导致应用程序与网络的交互测试不完整,该应用程序存在运行隐患。
发明内容
本发明实施例提供了一种测试系统中信息的获取方法、装置及测试系统。能够更加深度的挖掘该应用程序的网络交互部分的漏洞。
本发明的实施例第一方面提供了一种测试系统中信息的获取方法,该方法可包括:
在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;
当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。
作为可选的实施例,还包括:
解析所述应用程序的安装包;
获取所述安装包中的反汇编文件;
从所述反汇编文件中提取第二网络请求包,所述第二网络请求包用于请求所述应用程序的更新版本。
作为可选的实施例,所述从所述反汇编文件中提取第二网络请求包之后还包括:
检测所述第二网络请求包中是否存在包含预设关键字的硬编辑信息;
若检测到存在所述包含预设关键字的硬编辑信息,则确定所述应用程序的网络请求存在漏洞。
作为可选的实施例,所述接收所述代理服务器发送的反馈信息之后还包括:
向所述代理服务器发送用于获取所述第一网络请求包的获取请求;
接收所述代理服务器发送的所述第一网络请求包。
作为可选的实施例,还包括:
根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包;
将所述至少一个模拟网络请求包依次发送至网络服务器,以检测所述应用程序与所述网络服务器的交互中是否存在漏洞。
作为可选的实施例,所述根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包包括:
判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议;
若判断的结果为是,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令;
若检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
作为可选的实施例,所述将所述至少一个模拟网络请求包发送至网络服务器之后还包括:
若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;
若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,确定所述应用程序与所述网络服务器的交互存在漏洞。
本发明的实施例第二方面提供了一种测试系统中信息的获取装置,该装置可包括:
控件获取模块,用于在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
输入模块,用于将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;
信息接收模块,用于当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。
作为可选的实施例,还包括:
解析模块,用于解析所述应用程序的安装包;
文件获取模块,用于获取所述安装包中的反汇编文件;
提取模块,用于从所述反汇编文件中提取第二网络请求包,所述第二网络请求包用于请求所述应用程序的更新版本。
作为可选的实施例,还包括:
信息检测模块,用于在所述提取模块从所述反汇编文件中提取第二网络请求包之后,检测所述第二网络请求包中是否存在包含预设关键字的硬编辑信息;
第一确定模块,用于若所述信息检测模块检测到存在所述包含预设关键字的硬编辑信息,则确定所述应用程序的网络请求存在漏洞。
作为可选的实施例,还包括:
代理发送模块,用于向所述代理服务器发送用于获取所述第一网络请求包的获取请求;
请求包接收模块,用于接收所述代理服务器发送的所述第一网络请求包。
作为可选的实施例,还包括:
构建模块,用于根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包;
网络发送模块,用于将所述至少一个模拟网络请求包依次发送至网络服务器,以检测所述应用程序与所述网络服务器的交互中是否存在漏洞。
作为可选的实施例,所述构建模块包括:
判断单元,用于判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议;
命令检测单元,用于当所述判断单元判断的结果为是时,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令;
构建单元,用于当所述命令检测单元检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
作为可选的实施例,在所述网络发送模块将所述至少一个模拟网络请求包发送至网络服务器之后还包括:
第二确定模块,用于若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;
第三确定模块,用于若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,确定所述应用程序与所述网络服务器的交互存在漏洞。
本发明的实施例第三方面提供了一种测试系统中信息的获取装置,包括收发器、存储器及处理器,其中所述存储器存储一组程序代码,且所述处理器调用所述存储器中存储的程序代码,用于执行以下操作:
在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;
所述收发器用于当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。
本发明的实施例第四方面提供了一种测试系统,包括至少一个测试机和服务器,其中:
一个测试机用于在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件,将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中,向所述服务器发送所述网络请求控件产生的第一网络请求包;
所述服务器用于捕获并保存所述测试机发送的所述第一网络请求包,并在获取到所述第一网络请求包后向所述测试机发送反馈信息;
其中,所述第一网络请求包支持被所述测试系统中的所有测试机下载,用于测试所述应用程序的网络交互是否存在漏洞。
本发明实施例中,通过在虚拟机系统上加载应用程序,可获取该应用程序包含的用户界面中的网络请求控件,并可根据该网络请求控件的控件类型模拟出对应的输入信息,并将该输入信息输入至网络请求控件中,以触发该网络请求控件产生网络请求,并可通过预设的局域网内的代理服务器截获针对该网络请求控件的第一网络请求包,当接收到该代理服务器发送的反馈信息时,则可确定该应用程序中的第一网络请求包已被获取到,从而可实现动态测试应用程序的网络交互是否存在漏洞,从而能够更加深度的挖掘该应用程序的网络交互部分的漏洞。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中的一个实施例提供的一种测试系统中信息的获取方法的流程图;
图2是本发明中的另一个实施例提供的一种测试系统中信息的获取方法的流程图;
图3是本发明中的又一个实施例提供的一种测试系统中信息的获取方法的流程图;
图4是本发明中的一个实施例提供的一种测试系统中信息的获取装置的结构示意图;
图5是本发明中的另一个实施例提供的一种测试系统中信息的获取装置的结构示意图;
图6是本发明中的又一个实施例提供的一种测试系统中信息的获取装置的结构示意图;
图7是本发明中的又一个实施例提供的一种测试系统中信息的获取装置的结构示意图;
图8是本发明中的一个实施例提供的一种测试系统的结构示意图;
图9是本发明中的另一个实施例提供的一种测试系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考附图对本发明的实施例进行描述。其中,本发明实施例所述装置包括可安装安卓(英文:Android)虚拟机系统,以及能够通过FUZZING等测试工具对应用程序进行测试的装置。
参见图1,图1是本发明中的一个实施例提供的一种测试系统中信息的获取方法的流程图。该方法可由上述测试机实现。该方法可包括以下步骤。
步骤S101,在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件。
在一个实施例中,测试机通过在虚拟机系统上加载一个应用程序后,表明该应用程序即为待测试的应用程序,需要在虚拟机系统上动态运行该应用程序,以测试在该应用程序运行的过程中存在的漏洞等。当加载该应用程序后,可获取该应用程序包含的用户界面中的网络请求控件。具体的,在应用程序运行的过程中,可能需要与用户通过用户界面进行交互,用户可对测试机上的用户界面通过输入设备,如键盘、鼠标等输入信息。测试机可获取用户界面上的控件,其中,用户界面上的控件可包括网络请求控件,用于通过网络向服务器发送请求,当然用户界面上的控件也可包括其他类型的控件,如请求其他应用程序中的信息等控件。当获取到用户界面时,可获取用户界面上的所有控件,也可通过控件类型获取用户界面中的网络控件。
步骤S102,将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中。
在一个实施例中,测试机可通过安装的测试工具模拟出用户需要的输入信息以进行测试。具体的,可通过网络请求控件的类型模拟输入信息,可根据网络请求控件的前缀确认网络请求控件的类型。如网络请求控件的前缀为button,则表明控件类型为按钮,则可模拟输入信息为点击输入;若网络请求控件的类型为输入框,则需要模拟输入信息为输入字符,如根据网络请求控件上的文字提示等输入对应的数字或中英文字符等。并将模拟出的输入信息可输入至网络请求控件中,以进一步触发该网络请求控件发送网络请求。如在控件中显示网址,若模拟出用户对该网址的点击操作,则测试机可发送用于访问该网址的网络请求。
步骤S103,当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。
在一个实施例中,由于测试机安装的安卓系统不具备网络监控功能,因此测试机自身无法通过监测捕获到网络请求控件产生的网络请求包。本发明实施例中一种可实现捕获网络请求包的方式为通过将测试机的代理服务器预设为局域网内的或测试系统内的某一台测试机或某一台服务器。因此当应用程序向预设的代理服务器发送网络请求控件产生的第一网络请求包后,可通过预设的代理服务器接收测试机发送的网络请求包,并且当代理服务器在接收到网络请求包时,可对发送的测试机发送反馈信息,表明已接收到网络请求包;也可向局域网或测试系统内的所有测试机广播该反馈信息,用以表明该代理服务器接收到网络请求包。其中,该代理服务器可对接收到的网络请求包进行保存,或将其转至其他的服务器中进行保存,从而测试系统内的所有测试机均可以请求获取该网络请求包用于测试,继而可通过测试系统提高对该应用程序的测试效率,可实现多个测试机进行并行测试。
本发明实施例中,通过在虚拟机系统上加载应用程序,可获取该应用程序包含的用户界面中的网络请求控件,并可根据该网络请求控件的控件类型模拟出对应的输入信息,并将该输入信息输入至网络请求控件中,以触发该网络请求控件产生网络请求,并可通过预设的局域网内的代理服务器截获针对该网络请求控件的第一网络请求包,当接收到该代理服务器发送的反馈信息时,则可确定该应用程序中的第一网络请求包已被获取到,从而可实现动态测试应用程序的网络交互是否存在漏洞,从而能够更加深度的挖掘该应用程序的网络交互部分的漏洞。
参见图2,图2是本发明中的另一个实施例提供的一种测试系统中信息的获取方法的流程图。该方法可由测试系统中的测试机实现。该方法可包括以下步骤。需要说明的是,图2中的实施例与图1中的实施例可并行实施,也可基于图1中实施例的方法中步骤S101之前,即在通过虚拟机系统运行应用程序之前,执行以下方法。
步骤S201,解析应用程序的安装包。
在一个实施例中,当获取到需要测试的应用程序的安装包后,可对该应用程序的安装包进行解析。具体的,可通过解压缩安装包等方式获取应用程序的安装包中包含的文件等信息。
步骤S202,获取所述安装包中的反汇编文件。
在一个实施例中,可从应用程序的安装包中获取反汇编文件。其中,该反汇编文件可为后缀为smali的反汇编文件。反汇编文件可用于将应用程序的安装包从机器语言转化为汇编语言,从而能够在反汇编文件中查找应用程序是否存在漏洞。具体的,本发明实施例的反汇编文件中可包括网络请求包,即通过解析安装包的反汇编文件,可获得部分网络请求包,其中,该部分网络请求包无需用户操作对其进行触发,如当检测到该应用程序存在更新版本时,向服务器请求该应用程序的最新版本的网络请求包等。
步骤S203,从所述反汇编文件中提取第二网络请求包,所述第二网络请求包用于请求所述应用程序的更新版本。
在一个实施例中,可在反汇编文件中提取出至少一个网络请求包。其中,不同于图1所述实施例中的在动态测试过程中生成的第一网络请求包,第二网络请求包被包含在应用程序的安装包中,通过上述静态测试即可获取第二网络请求包。其中,该安装包可为未经处理的安装包,也可为对安装包进行解压后增加某些信息的经过处理的安装包。该第二网络请求包可用于请求该应用程序的更新版本,当运行该应用程序的安装包或对该应用程序的安装包进行解包时,可发送第二网络请求包,以获取或检测该应用程序的更新版本。具体的,第一网络请求包及第二网络请求包的格式均可为URL(中文:统一资源定位符;英文:Uniform Resource Locator)。
可选的,获取的第一网络请求包以及第二网络请求包可根据图3中实施例所述的方法对其进行测试。或第二网络请求包也可通过以下步骤对其进行初步的判断测试,根据第二网络请求包中的信息判断应用程序在网络交互的过程中是否存在漏洞。
步骤S204,检测所述第二网络请求包中是否存在包含预设关键字的硬编辑信息。
在一个实施例中,当从反汇编文件中提取出第二网络请求包时,可检测第二网络请求包中是否存在包含预设关键字的硬编辑信息。如可建立关键字或敏感词测试库,其中包括可能存在漏洞的关键字或敏感词,如测试库中可包括“用户、密码、标识、user、password、identifier、ID”等关键字或敏感词。其中,硬编辑信息可为字符串形式。
步骤S205,若检测到存在所述包含预设关键字的硬编辑信息,则确定所述应用程序的网络请求存在漏洞。
在一个实施例中,若检测到包含预设关键字的硬编辑信息,如检测到包含“user=xxxxxx,password=yyyyyy”的字符串时,则表明检测到包含预设关键字的硬编辑信息,则表明第二网络请求包包含用户的个人信息,在向服务器发送第二网络请求包时,有可能会导致用户个人信息的泄露,因此能够确定该应用程序在网络交互的过程中存在漏洞。
本发明实施例中,通过对应用程序的安装包进行解析获取网络请求包,可实现对该应用程序进行静态测试。需要说明的是,实施图2中所述方法的测试机可独立于实施图1中所述方法的测试机。即可在测试系统中不同的测试机并行对网络请求包进行动态的获取及静态的获取。也可在同一测试机上获取上述第一网络请求包及第二网络请求包,即在同一测试机上实施图1与图2中所述方法,从而能够更加全面的对应用程序的网络交互部分进行漏洞测试。第一网络请求包与第二网络请求包分别包括至少一个网络请求包。
参见图3,图3是本发明中的又一个实施例提供的一种测试系统中信息的获取方法的流程图。该方法可由测试系统中的测试机实现,其中,实现图3中方法的测试机可独立于实现图1或实现图2方法的测试机,也可在同一测试机中同时实现图1、图2、图3中的方法。本实施例中所描述的测试机可实现图1、图2、图3中的全部方法。其中该测试机在实施图3的方式时可包括以下步骤。
步骤S301,向代理服务器发送用于获取第一网络请求包的获取请求。
在一个实施例中,基于图1中所述方法,当接收到代理服务器发送的反馈信息后,可向该代理服务器发送获取请求。其中,该获取请求用于获取第一网络请求包。可选的,若代理服务器将第一网络请求包转至其他服务器进行存储,可向存储该第一网络请求包的服务器发送获取请求。
步骤S302,接收所述代理服务器发送的所述第一网络请求包。
在一个实施例中,当发送获取请求后,可接收代理服务器发送的第一网络请求包。以便进行以下步骤的测试。
步骤S303,根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包。
在一个实施例中,当从上述步骤或图2所述的步骤中获取第一网络请求包和/或第二网络请求包后,可根据获取的真实的网络请求包构建至少一个模拟网络请求包,以从多个维度对应用程序的网络交互部分进行漏洞测试。具体的,可通过以下步骤构建模拟网络请求包:
判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议;
若判断的结果为是,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令;
若检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
具体的,可通过判断获取的网络请求包(第一网络请求包或第二网络请求包)是否采用HTTP协议,若采用HTTP协议,则可进一步检测网络请求包中携带的请求命令为HTTPGET命令或HTTPPOST命令,根据不同的请求命令,构建不同的模拟网络请求包。若检测到携带的请求命令为HTTPGET命令时,则需要根据获取的网络请求包中的URL信息构建与其类型相同的至少一个URL信息,从而所构建的各模拟网络请求包中可包括上述构建的URL信息中的任意一个。从而每个构建的模拟网络请求包包括不同的模拟的URL信息。若获取的网络请求包的URL信息用于获取用户ID,如http://1.1.1.1?id=123&method=getuserinfo;则可更换上述ID号,以构建成模拟的URL信息,从而构建成模拟网络请求包。
可选的,若网络请求包所携带的请求命令为HTTPPOST命令时,可无需根据URL信息构建模拟网络请求包,仅通过修改获取的网络请求包中的请求字段值,可构建模拟网络请求包。
步骤S304,将所述至少一个模拟网络请求包依次发送至网络服务器,以检测所述应用程序与所述网络服务器的交互中是否存在漏洞。
在一个实施例中,可将构建的一个或多个模拟网络请求包依次发送至网络服务器,以检测该应用程序与网络服务器的交互中是否存在漏洞。
可选的,若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,则表明通过向服务器多次请求短信验证码,实现对应用程序相关联的电话号码实行网络轰炸,从而可确定所述应用程序与所述网络服务器的交互存在漏洞。当然还可包括其他类型的模拟网络请求包用于检测应用程序不同维度的网络交互漏洞。在此暂不赘述。
本发明实施例中,通过对获取到的真实的网络请求包进行解析,可根据获取到的网络请求包构建模拟网络请求包,可更加精准深度的测试应用程序的网络交互部分的漏洞。
参见图4,图4是本发明中的一个实施例提供的一种测试系统中信息的获取装置的结构示意图。该装置可具体为测试系统中的测试机。可参见图8中的测试机801或图9中的测试机901。其中,该装置可包括控件获取模块401、输入模块402、信息接收模块403。
其中,控件获取模块401,用于在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件。
在一个实施例中,装置通过在虚拟机系统上加载一个应用程序后,表明该应用程序即为待测试的应用程序,需要在虚拟机系统上动态运行该应用程序,以测试在该应用程序运行的过程中存在的漏洞等。当加载该应用程序后,控件获取模块401可获取该应用程序包含的用户界面中的网络请求控件。具体的,在应用程序运行的过程中,可能需要与用户通过用户界面进行交互,用户可对测试机上的用户界面通过输入设备,如键盘、鼠标等输入信息。测试机可获取用户界面上的控件,其中,用户界面上的控件可包括网络请求控件,用于通过网络向服务器发送请求,当然用户界面上的控件也可包括其他类型的控件,如请求其他应用程序中的信息等控件。当获取到用户界面时,可获取用户界面上的所有控件,也可通过控件类型获取用户界面中的网络控件。
输入模块402,用于将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中。
在一个实施例中,装置可通过安装的测试工具模拟出用户需要的输入信息以进行测试。具体的,可通过网络请求控件的类型模拟输入信息,可根据网络请求控件的前缀确认网络请求控件的类型。如网络请求控件的前缀为button,则表明控件类型为按钮,则可模拟输入信息为点击输入;若网络请求控件的类型为输入框,则需要模拟输入信息为输入字符,如根据网络请求控件上的文字提示等输入对应的数字或中英文字符等。输入模块402将模拟出的输入信息可输入至网络请求控件中,以进一步触发该网络请求控件发送网络请求。如在控件中显示网址,若模拟出用户对该网址的点击操作,则测试机可发送用于访问该网址的网络请求。
信息接收模块403,用于当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。
在一个实施例中,由于测试机安装的安卓系统不具备网络监控功能,因此测试机自身无法通过监测捕获到网络请求控件产生的网络请求包。本发明实施例中一种可实现捕获网络请求包的方式为通过将测试机的代理服务器预设为局域网内的或测试系统内的某一台测试机或某一台服务器。因此当向预设的代理服务器发送网络请求控件产生的第一网络请求包后,可通过预设的代理服务器接收测试机发送的网络请求包,并且当代理服务器在接收到网络请求包时,可对发送的测试机发送反馈信息,表明已接收到网络请求包;测试机可通过信息接收模块403对反馈信息进行接收;也可向局域网或测试系统内的所有测试机广播该反馈信息,用以表明该代理服务器接收到网络请求包。其中,该代理服务器可对接收到的网络请求包进行保存,或将其转至其他的服务器中进行保存,从而测试系统内的所有测试机均可以请求获取该网络请求包用于测试,继而可通过测试系统提高对该应用程序的测试效率,可实现多个测试机进行并行测试。
本发明实施例中,通过在虚拟机系统上加载应用程序,可获取该应用程序包含的用户界面中的网络请求控件,并可根据该网络请求控件的控件类型模拟出对应的输入信息,并将该输入信息输入至网络请求控件中,以触发该网络请求控件产生网络请求,并可通过预设的局域网内的代理服务器截获针对该网络请求控件的第一网络请求包,当接收到该代理服务器发送的反馈信息时,则可确定该应用程序中的第一网络请求包已被获取到,从而可实现动态测试应用程序的网络交互是否存在漏洞,从而能够更加深度的挖掘该应用程序的网络交互部分的漏洞。
参见图5,是本发明中的一种终端的一实施例的结构示意图。该终端可以包括:至少一个处理器501,如CPU,至少一个用户接口503,收发器505,存储器504以及至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信,用户接口503可以包括显示屏(Display)及键盘(Keyboard),可选的,用户接口503还可以包括标准的有线接口及无线接口,存储器504可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),如至少一个磁盘存储器,可选的,存储器504还可以是至少一个位于远离前述处理器501的存储装置。收发器505用于与测试系统中的服务器或其他测试机进行数据传输,其中收发器可支持局域网内通信,也可支持TCP/IP协议。其中,存储器504中存储一组程序代码,且处理器501调用存储器504中存储的程序代码,用于执行以下操作:
在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;
当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包。
本发明实施例中,通过在虚拟机系统上加载应用程序,可获取该应用程序包含的用户界面中的网络请求控件,并可根据该网络请求控件的控件类型模拟出对应的输入信息,并将该输入信息输入至网络请求控件中,以触发该网络请求控件产生网络请求,并可通过预设的局域网内的代理服务器截获针对该网络请求控件的第一网络请求包,当接收到该代理服务器发送的反馈信息时,则可确定该应用程序中的第一网络请求包已被获取到,从而可实现动态测试应用程序的网络交互是否存在漏洞,从而能够更加深度的挖掘该应用程序的网络交互部分的漏洞。
参见图6,图6是本发明中的又一个实施例提供的一种测试系统中信息的获取装置的结构示意图。其中,图6所述装置可为独立于图4中所述装置的测试机(可参见图9中的测试机902),也可与图4所述装置同时配置于同一测试机中(可参见图8中的测试机801)。该装置可包括解析模块601、文件获取模块602、提取模块603、信息检测模块604、第一确定模块605。
其中,解析模块601,用于解析所述应用程序的安装包。
在一个实施例中,当获取到需要测试的应用程序的安装包后,解析模块601可对该应用程序的安装包进行解析。具体的,可通过解压缩安装包等方式获取应用程序的安装包中包含的文件等信息。
文件获取模块602,用于获取所述安装包中的反汇编文件。
在一个实施例中,文件获取模块602可从应用程序的安装包中获取反汇编文件。其中,该反汇编文件可为后缀为smali的反汇编文件。反汇编文件可用于将应用程序的安装包从机器语言转化为汇编语言,从而能够在反汇编文件中查找应用程序是否存在漏洞。具体的,本发明实施例的反汇编文件中可包括网络请求包,即通过解析安装包的反汇编文件,可获得部分网络请求包,其中,该部分网络请求包无需用户操作对其进行触发,如当检测到该应用程序存在更新版本时,向服务器请求该应用程序的最新版本的网络请求包等。
提取模块603,用于从所述反汇编文件中提取第二网络请求包,所述第二网络请求包用于请求所述应用程序的更新版本。
在一个实施例中,提取模块603可在反汇编文件中提取出至少一个网络请求包。其中,不同于图1所述实施例中的在动态测试过程中生成的第一网络请求包,第二网络请求包被包含在应用程序的安装包中,通过上述静态测试即可获取第二网络请求包。其中,该安装包可为未经处理的安装包,也可为对安装包进行解压后增加某些信息的经过处理的安装包。该第二网络请求包可用于请求该应用程序的更新版本,当运行该应用程序的安装包或对该应用程序的安装包进行解包时,可发送第二网络请求包,以获取或检测该应用程序的更新版本。具体的,第一网络请求包及第二网络请求包的格式均可为URL(中文:统一资源定位符;英文:Uniform Resource Locator)。
可选的,获取的第一网络请求包以及第二网络请求包可根据图7中实施例所述的装置对其进行测试。或第二网络请求包也可通过以下模块对其进行初步的判断测试,根据第二网络请求包中的信息判断应用程序在网络交互的过程中是否存在漏洞。
信息检测模块604,用于在所述提取模块603从所述反汇编文件中提取第二网络请求包之后,检测所述第二网络请求包中是否存在包含预设关键字的硬编辑信息。
在一个实施例中,当提取模块603从反汇编文件中提取出第二网络请求包时,信息检测模块604可检测第二网络请求包中是否存在包含预设关键字的硬编辑信息。如可建立关键字或敏感词测试库,其中包括可能存在漏洞的关键字或敏感词,如测试库中可包括“用户、密码、标识、user、password、identifier、ID”等关键字或敏感词。其中,硬编辑信息可为字符串形式。
第一确定模块605,用于若所述信息检测模块604检测到存在所述包含预设关键字的硬编辑信息,则确定所述应用程序的网络请求存在漏洞。
在一个实施例中,若信息检测模块604检测到包含预设关键字的硬编辑信息,如检测到包含“user=xxxxxx,password=yyyyyy”的字符串时,则表明检测到包含预设关键字的硬编辑信息,则表明第二网络请求包包含用户的个人信息,在向服务器发送第二网络请求包时,有可能会导致用户个人信息的泄露,因此第一确定模块605能够确定该应用程序在网络交互的过程中存在漏洞。
本发明实施例中,通过对应用程序的安装包进行解析获取网络请求包,可实现对该应用程序进行静态测试。需要说明的是,实施图2中所述方法的测试机可独立于实施图1中所述方法的测试机。即可在测试系统中不同的测试机并行对网络请求包进行动态的获取及静态的获取。也可在同一测试机上获取上述第一网络请求包及第二网络请求包,即在同一测试机上实施图1与图2中所述方法,从而能够更加全面的对应用程序的网络交互部分进行漏洞测试。第一网络请求包与第二网络请求包分别包括至少一个网络请求包。
参见图7,图7是本发明中的又一个实施例提供的一种测试系统中信息的获取装置的结构示意图。可选的,该装置可为独立于图4或图5,以及图6的装置,被配置在测试系统中的测试机中(可参见图9中的测试机904),或可与图4与图6所述装置同时被配置在同一测试机中(可参见图8中的测试机801),即该测试机既可完成静态或动态获取网络请求包,也可对获取的网络请求包进行测试。该装置可包括代理发送模块701、请求包接收模块702、构建模块703及网络发送模块704。
其中,代理发送模块701,用于向所述代理服务器发送用于获取所述第一网络请求包的获取请求。
在一个实施例中,当图4中的信息接收模块403接收到代理服务器发送的反馈信息后,代理发送模块701可向该代理服务器发送获取请求。其中,该获取请求用于获取第一网络请求包。可选的,若代理服务器将第一网络请求包转至其他服务器进行存储,可向存储该第一网络请求包的服务器发送获取请求。
请求包接收模块702,用于接收所述代理服务器发送的所述第一网络请求包。
在一个实施例中,当代理发送模块701发送获取请求后,请求包接收模块702可接收代理服务器发送的第一网络请求包。以便通过以下模块进行测试。
构建模块703,用于根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包。
在一个实施例中,当从请求包接收模块702或图6所述提取模块603中获取第一网络请求包和/或第二网络请求包后,构建模块703可根据获取的真实的网络请求包构建至少一个模拟网络请求包,以从多个维度对应用程序的网络交互部分进行漏洞测试。具体的,可通过以下单元构建模拟网络请求包:
判断单元,用于判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议。
命令检测单元,用于当所述判断单元判断的结果为是时,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令。
构建单元,用于当所述命令检测单元检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
具体的,可通过判断单元判断获取的网络请求包(第一网络请求包或第二网络请求包)是否采用HTTP协议,若采用HTTP协议,则命令检测单元可进一步检测网络请求包中携带的请求命令为HTTPGET命令或HTTPPOST命令,构建单元根据不同的请求命令,构建不同的模拟网络请求包。若检测到携带的请求命令为HTTPGET命令时,则需要根据获取的网络请求包中的URL信息构建与其类型相同的至少一个URL信息,从而所构建的各模拟网络请求包中可包括上述构建的URL信息中的任意一个。从而每个构建的模拟网络请求包包括不同的模拟的URL信息。若获取的网络请求包的URL信息用于获取用户ID,如http://1.1.1.1?id=123&method=getuserinfo;则可更换上述ID号,以构建成模拟的URL信息,从而构建成模拟网络请求包。
可选的,若网络请求包所携带的请求命令为HTTPPOST命令时,可无需根据URL信息构建模拟网络请求包,仅通过修改获取的网络请求包中的请求字段值,可构建模拟网络请求包。
网络发送模块704,用于将所述至少一个模拟网络请求包依次发送至网络服务器,以检测所述应用程序与所述网络服务器的交互中是否存在漏洞。
在一个实施例中,网络发送模块704可将构建的一个或多个模拟网络请求包依次发送至网络服务器,以检测该应用程序与网络服务器的交互中是否存在漏洞。
可选的,本装置还可通过以下模块进行具体的检测操作。
第一确定模块,用于若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞。
第二确定模块,用于若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,确定所述应用程序与所述网络服务器的交互存在漏洞。
具体的,若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,则表明通过向服务器多次请求短信验证码,实现对应用程序相关联的电话号码实行网络轰炸,从而可确定所述应用程序与所述网络服务器的交互存在漏洞。当然还可包括其他类型的模拟网络请求包用于检测应用程序不同维度的网络交互漏洞。在此暂不赘述。
本发明实施例中,通过对获取到的真实的网络请求包进行解析,可根据获取到的网络请求包构建模拟网络请求包,可更加精准深度的测试应用程序的网络交互部分的漏洞。
参见图8,图8是本发明中的一个实施例提供的一种测试系统的结构示意图。该测试系统可包括测试机801与服务器802。
其中,测试机801可在测试系统中通过静态或动态方式获取待测试的应用程序中的网络请求包,并可针对获取到的网络请求包进行对应的应用程序漏洞测试。服务器802可捕获测试机801发送的网络请求包,从而帮助测试机801在对应用程序进行动态测试的过程中获取应用程序在运行时产生的网络请求包。
具体的,可参见图1中描述的方法。测试机801用于在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件,将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中,向所述服务器802发送所述网络请求控件产生的第一网络请求包。
服务器802用于捕获并保存所述测试机发送的第一网络请求包,并在获取到所述第一网络请求包后向所述测试机发送反馈信息。
可选的,测试机801还可通过解析该应用程序的安装包后,获取该安装包中的反汇编文件,并可从反汇编文件中提取出第二网络请求包。即测试机801可通过对应用程序的静态测试获取网络请求包。可参见图2中描述的方法。
可选的,当测试机801接收到服务器802发送的反馈信息后,可向代理服务器802发送获取第一网络请求包的请求,并可接收代理服务器802反馈的第一网络请求包,从而测试机801可并行对该应用程序进行静态以及动态测试。可参见图3中实施例描述的方法。
可选的,测试机801可检测第二网络请求包中是否存在包含预设关键字的硬编辑信息,若检测到存在包含预设关键字的硬编辑信息,则可确定该应用程序的网络请求存在漏洞,即其他设备通过截获第二网络请求包能够解析出用户个人信息,有可能导致用户隐私的泄露。可参见图2中实施例描述的方法。
可选的,测试机801还可根据第一网络请求包或第二网络请求包构建至少一个模拟网络请求包,将模拟网络请求包发送至网络服务器,从而能够检测应用程序与网络交互部分是否存在漏洞。可参见图3中实施例描述的方法。需要说明的是,这里所述的网络服务器可为代理服务器,也可为测试系统中包括的其他服务器。
可选的,测试机801构建模拟网络请求包的方式可通过判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议;若判断的结果为是,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令;若检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
可选的,测试机801可通过接收网络服务器针对模拟网络请求包的反馈信息,测试应用程序的网络交互部分是否存在漏洞。可参见图3中实施例描述的方法。具体的,若模拟网络请求包用于请求用户信息,当测试机801接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;若模拟网络请求包用于请求短信验证码,当测试机801接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,确定所述应用程序与所述网络服务器的交互存在漏洞。
本发明实施例中,该测试系统可对应用程序的网络交互部分进行动态与静态的测试,从而能够对应用程序的网络交互部分进行更加深度的漏洞挖掘。
参见图9,图9是本发明中的又一个实施例提供的一种测试系统的结构示意图。该测试系统可包括测试机901,测试机902,测试机903,测试机904,存储服务器905,网络服务器906。其中,各测试机与服务器可在测试系统内通过局域网建立通信连接。
其中,测试机901可在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;并可将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;还可预设测试机903为代理服务器,将根据所述网路请求控件产生的第一网络请求包发送至测试机903中。从而在测试系统内能够捕获应用程序动态测试过程中产生的第一网络请求包。
测试机903接收到第一网络请求包后,可将其发送至存储服务器905进行存储,存储服务器905或测试机903可向测试机901发送反馈信息,表明已接收到第一网络请求包,可选的,存储服务器905还可向测试系统中的所有测试机广播已接收到第一网络请求包的信息,从而测试系统中的任一测试机可向存储服务器请求该第一网络请求包。
测试机902可解析所述应用程序的安装包;获取所述安装包中的反汇编文件;从所述反汇编文件中提取第二网络请求包。当测试机902获取到第二网络请求包后,可将第二网络请求包发送至存储服务器905进行存储,也可直接对第二网络请求包进行解析测试。
若第二网络请求包发送至存储服务器905中进行存储,测试机904可向存储服务器请求第一网络请求包及第二网络请求包,并可在获取到第一网络请求包及第二网络请求包后,根据获取到的网络请求包构建模拟网络请求包,并将构建的模拟网络请求包发送至网络服务器906中,从而根据网络服务器906针对模拟网络请求包发送的反馈信息检测应用程序与网络服务器的交互中是否存在漏洞。
本发明实施例中,通过测试系统中的多个测试机并行运行,其中,每个测试机负责测试项目中的一部分,可提高对该应用程序的测试效率。从而能够在更加深度挖掘应用程序的网络交互部分的漏洞的同时,进一步提高挖掘效率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端或设备中的单元或子单元可以根据实际需要进行合并、划分和删减。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

Claims (14)

1.一种测试系统中信息的获取方法,其特征在于,包括:
在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
将按照所述网络请求控件的类型模拟出的输入信息,输入至所述网络请求控件中;
当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包;
向所述代理服务器发送用于获取所述第一网络请求包的获取请求;
接收所述代理服务器发送的所述第一网络请求包,以检测所述应用程序的网络交互是否存在漏洞。
2.如权利要求1所述方法,其特征在于,还包括:
解析所述应用程序的安装包;
获取所述安装包中的反汇编文件;
从所述反汇编文件中提取第二网络请求包,所述第二网络请求包用于请求所述应用程序的更新版本。
3.如权利要求2所述方法,其特征在于,所述从所述反汇编文件中提取第二网络请求包之后还包括:
检测所述第二网络请求包中是否存在包含预设关键字的硬编辑信息;
若检测到存在所述包含预设关键字的硬编辑信息,则确定所述应用程序的网络请求存在漏洞。
4.如权利要求2所述方法,其特征在于,还包括:
根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包;
将所述至少一个模拟网络请求包依次发送至网络服务器,以检测所述应用程序与所述网络服务器的交互中是否存在漏洞。
5.如权利要求4所述方法,其特征在于,所述根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包包括:
判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议;
若判断的结果为是,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令;
若检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
6.如权利要求4所述方法,其特征在于,所述将所述至少一个模拟网络请求包发送至网络服务器之后还包括:
若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;
若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,确定所述应用程序与所述网络服务器的交互存在漏洞。
7.一种测试系统中信息的获取装置,其特征在于,包括:
控件获取模块,用于在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
输入模块,用于将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;
信息接收模块,用于当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包;
代理发送模块,用于向所述代理服务器发送用于获取所述第一网络请求包的获取请求;
请求包接收模块,用于接收所述代理服务器发送的所述第一网络请求包,以检测所述应用程序的网络交互是否存在漏洞。
8.如权利要求7所述装置,其特征在于,还包括:
解析模块,用于解析所述应用程序的安装包;
文件获取模块,用于获取所述安装包中的反汇编文件;
提取模块,用于从所述反汇编文件中提取第二网络请求包,所述第二网络请求包用于请求所述应用程序的更新版本。
9.如权利要求8所述装置,其特征在于,还包括:
信息检测模块,用于在所述提取模块从所述反汇编文件中提取第二网络请求包之后,检测所述第二网络请求包中是否存在包含预设关键字的硬编辑信息;
第一确定模块,用于若所述信息检测模块检测到存在所述包含预设关键字的硬编辑信息,则确定所述应用程序的网络请求存在漏洞。
10.如权利要求8所述装置,其特征在于,还包括:
构建模块,用于根据所述第一网络请求包或所述第二网络请求包构建至少一个模拟网络请求包;
网络发送模块,用于将所述至少一个模拟网络请求包依次发送至网络服务器,以检测所述应用程序与所述网络服务器的交互中是否存在漏洞。
11.如权利要求10所述装置,其特征在于,所述构建模块包括:
判断单元,用于判断所述第一网络请求包或所述第二网络请求包是否采用HTTP协议;
命令检测单元,用于当所述判断单元判断的结果为是时,则检测所述第一网络请求包或所述第二网络请求包中包含的请求命令,所述请求命令包括HTTPGET命令或HTTPPOST命令;
构建单元,用于当所述命令检测单元检测到所述请求命令为HTTPGET命令,则构建至少一个与所述第一网络请求包或所述第二网络请求包中的URL信息类型相同的模拟URL信息,所述至少一个模拟网络请求包中的任意一个请求包包括所述构建的所述至少一个URL信息中的任意一个URL信息。
12.如权利要求10所述装置,其特征在于,在所述网络发送模块将所述至少一个模拟网络请求包发送至网络服务器之后还包括:
第二确定模块,用于若模拟网络请求包用于请求用户信息,当接收到所述网络服务器反馈的与所述应用程序不关联的用户信息时,确定所述应用程序与所述网络服务器的交互存在漏洞;
第三确定模块,用于若模拟网络请求包用于请求短信验证码,当接收到所述网络服务器针对所有模拟网络请求包反馈的短信验证码时,确定所述应用程序与所述网络服务器的交互存在漏洞。
13.一种测试系统中信息的获取装置,其特征在于,包括收发器、存储器及处理器,其中所述存储器存储一组程序代码,且所述处理器调用所述存储器中存储的程序代码,用于执行以下操作:
在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件;
将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中;
当所述应用程序向局域网内的预设的代理服务器发送所述网络请求控件产生的第一网络请求包后,接收所述代理服务器发送的反馈信息,所述反馈信息表示所述代理服务器已获取到所述第一网络请求包;
向所述代理服务器发送用于获取所述第一网络请求包的获取请求;
接收所述代理服务器发送的所述第一网络请求包,以检测所述应用程序的网络交互是否存在漏洞。
14.一种测试系统,其特征在于,包括至少一个测试机和服务器,其中:
一个测试机用于在虚拟机系统上加载应用程序后,获取所述应用程序包含的用户界面中的网络请求控件,将按照所述网络请求控件的类型模拟出的输入信息输入至所述网络请求控件中,向所述服务器发送所述网络请求控件产生的第一网络请求包;向所述服务器发送用于获取所述第一网络请求包的获取请求;在接收到所述服务器发送的所述第一网络请求包后,针对所述第一网络请求包检测所述应用程序的网络交互是否存在漏洞;
所述服务器用于捕获并保存所述测试机发送的所述第一网络请求包,并在获取到所述第一网络请求包后向所述测试机发送反馈信息;在接收到所述测试机发送的所述获取请求后向所述测试机发送所述第一网络请求包;
其中,所述第一网络请求包支持被所述测试系统中的所有测试机下载,用于测试所述应用程序的网络交互是否存在漏洞。
CN201510996131.4A 2015-12-24 2015-12-24 一种测试系统中信息的获取方法、装置及测试系统 Active CN105553775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510996131.4A CN105553775B (zh) 2015-12-24 2015-12-24 一种测试系统中信息的获取方法、装置及测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510996131.4A CN105553775B (zh) 2015-12-24 2015-12-24 一种测试系统中信息的获取方法、装置及测试系统

Publications (2)

Publication Number Publication Date
CN105553775A CN105553775A (zh) 2016-05-04
CN105553775B true CN105553775B (zh) 2019-02-15

Family

ID=55832714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510996131.4A Active CN105553775B (zh) 2015-12-24 2015-12-24 一种测试系统中信息的获取方法、装置及测试系统

Country Status (1)

Country Link
CN (1) CN105553775B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106130959B (zh) * 2016-06-12 2019-07-23 微梦创科网络科技(中国)有限公司 恶意应用识别方法及装置
CN107368377B (zh) * 2017-06-30 2020-03-17 武汉斗鱼网络科技有限公司 一种Android应用程序中网络请求处理方法及装置
CN107360189A (zh) * 2017-08-23 2017-11-17 杭州安恒信息技术有限公司 突破Web防护的漏洞扫描方法及装置
CN110427323B (zh) * 2019-07-29 2022-12-02 天津车之家数据信息技术有限公司 一种应用测试方法、装置、代理服务器和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036193A (zh) * 2014-05-16 2014-09-10 北京金山安全软件有限公司 一种应用程序的本地跨域漏洞检测方法及装置
CN104063309A (zh) * 2013-03-22 2014-09-24 南京理工大学常熟研究院有限公司 基于模拟攻击的Web应用程序漏洞检测方法
CN104536891A (zh) * 2014-12-26 2015-04-22 小米科技有限责任公司 系统测试方法及装置
CN104836695A (zh) * 2014-02-11 2015-08-12 腾讯科技(深圳)有限公司 系统测试过程中的安全扫描方法及测试服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468605B2 (en) * 2009-11-30 2013-06-18 International Business Machines Corporation Identifying security vulnerability in computer software
US8555393B2 (en) * 2009-12-03 2013-10-08 Verizon Patent And Licensing Inc. Automated testing for security vulnerabilities of devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063309A (zh) * 2013-03-22 2014-09-24 南京理工大学常熟研究院有限公司 基于模拟攻击的Web应用程序漏洞检测方法
CN104836695A (zh) * 2014-02-11 2015-08-12 腾讯科技(深圳)有限公司 系统测试过程中的安全扫描方法及测试服务器
CN104036193A (zh) * 2014-05-16 2014-09-10 北京金山安全软件有限公司 一种应用程序的本地跨域漏洞检测方法及装置
CN104536891A (zh) * 2014-12-26 2015-04-22 小米科技有限责任公司 系统测试方法及装置

Also Published As

Publication number Publication date
CN105553775A (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN106776313B (zh) 一种模拟服务的方法、装置及集中管理平台
CN105872019B (zh) 一种Web端登录Docker容器的方法和装置
US10108801B2 (en) Web application vulnerability scanning
US9456019B2 (en) Web page load time prediction and simulation
KR101520056B1 (ko) 클라우드 기반 모바일/온라인 게임 서버 부하 테스트 자동화 서비스 방법
CN105553775B (zh) 一种测试系统中信息的获取方法、装置及测试系统
Zhang et al. SRFuzzer: an automatic fuzzing framework for physical SOHO router devices to discover multi-type vulnerabilities
CN105512045B (zh) 一种应用程序的测试方法、装置及测试设备
CN111400722A (zh) 扫描小程序的方法、装置、计算机设备和存储介质
WO2020086969A1 (en) Methods and systems for performance testing
US20220198025A1 (en) Web Attack Simulator
WO2009003126A1 (en) System and method for simulating computer network attacks
CN104536890A (zh) 测试系统、方法和装置
US20170220218A1 (en) Automatic Generation of Regular Expression Based on Log Line Data
CN110825985B (zh) 数据采集系统、方法、装置、控制设备及代理设备
US11470183B1 (en) Deriving proxy stability without network inspection
Schmidt et al. Application-level simulation for network security
CN110348210A (zh) 安全防护方法及装置
CN104834588A (zh) 检测常驻式跨站脚本漏洞的方法和装置
CN110826058A (zh) 基于用户交互的恶意软件检测
Göbel et al. A novel approach for generating synthetic datasets for digital forensics
JP2014179025A (ja) 接続先情報抽出装置、接続先情報抽出方法、及び接続先情報抽出プログラム
EP3433782A1 (en) Integrated interactive application security testing
US20060168467A1 (en) Load testing methods and systems with transaction variability and consistency
Chatley et al. Nimbus: Improving the developer experience for serverless applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20181203

Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Leopard Technology Co.,Ltd.

Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong.

Applicant before: Zhuhai Juntian Electronic Technology Co.,Ltd.

Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant