动态测试Android应用程序


进行动态测试以识别应用程序运行期间的漏洞。 在本文中,我想分享几种测试Android应用程序的方法。 我还将展示如何配置和配置设备。 谁在乎,欢迎来猫。

动态测试包括分析应用程序日志,分析应用程序流量,在操作过程中查找错误等。要进行测试,您需要在Genimotion上配置虚拟机,如此处所述。

哪些工具用于动态分析:

  • BurpSuite;
  • 散货;
  • 具有日志读取权限的Pidcat或其他应用程序。

如何使用BurpSuite测试

首先,您需要配置代理并导入证书。 BurpSuite显示了针对SSL固定的应用程序漏洞,并可以找到与应用程序联系的服务器上存在的漏洞。

1.安装代理

首先,您需要查看有关接口的信息以获取正确的代理设置。


1.有关接口的信息。

在BurpSuite上配置代理。


2. BurpSuite上的代理设置。

我们在进行测试的设备上安装代理。


3.设备上的代理设置。

在浏览器中输入http [:] // burp /-这是下载证书所必需的。 并下载证书即可使用。 接下来,您需要打开“下载”文件夹,其中有一个下载的证书。 长按证书将显示一个菜单,在该菜单中,我们选择“重命名”,并将扩展名更改为.cer并导入证书。


4.下载证书/

2.进口证明书

我们进入设备设置,找到“安全性”项目,然后选择“从SD安装”。 从“下载”文件夹中,选择已下载并重命名的证书。 之后,需要给证书起一个名字。


5.进口证明书。


6.进口证明书。

3.检查证书的安装并查看通过BurpSuite的流量。


7.测试证书导入的正确性。


8.我们查看来自设备的请求。

现在,您可以测试与API的交互。

从Android 7开始,这种将Burp证书添加到受信任的方法不适用于大多数应用程序-默认情况下,用户证书不再受信任。 因此,您将必须root用户,为证书提供正确的名称,并将其放在系统目录中(由y4ppieflu注释)
如何测试Inspakage

Inspekage是一种工具,可以动态测试Android应用程序,并帮助您了解应用程序在运行时的工作。 Inspekage通过以下方式显示应用程序的操作:

  • 档案
  • 资料库
  • 密码学
  • http请求
  • 日志和其他


9.启动应用程序进行测试。


10.启动应用程序进行测试。

启动应用程序后,在浏览器中输入https [:] // 192 [。] 168 [。] 100 [。] 198 [:] 8008转到应用程序控制台(图11)。


11.在浏览器中运行控制台。

接下来,浏览控制台中的标签:

  • 共享首选项-图 图12-演示了应用程序与本地资源的交互。
  • 序列化-图 13
  • 加密-图 14-演示加密技术的工作(此处不包括SSL / TLS)
  • 哈希-图 14
  • SQLite-图15
  • HTTP-图片 16-在BurpSuite中,此标签更好地公开了
  • 文件系统-图 17-应用程序处理文件
  • IPC-图 18等


12.共享首选项。


13.序列化。


14.加密。


15.哈希。


16. SQLite。


17. HTTP。


18.文件系统。


19. IPC。

用Pidcat测试

Pidcat是读取应用程序操作日志的应用程序。 测试时,您需要执行应用程序的功能,并查看哪些数据属于工作日志。 基本上,服务信息显示在此处,碰巧您可以获得一些关键信息,例如,私钥的备份副本。 如果设备包含恶意软件,则此信息可能落入攻击者的手中。


20.私钥的备份。


21.机密信息。

结论

在实践中,显示了我们在ByteCode中使用的基本的动态测试Android应用程序的方法。 MobSF框架中还有一个用于自动测试的模块,但这需要单独的文章。

Source: https://habr.com/ru/post/zh-CN432820/


All Articles