
进行动态测试以识别应用程序运行期间的漏洞。 在本文中,我想分享几种测试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注释)
如何测试InspakageInspekage是一种工具,可以动态测试Android应用程序,并帮助您了解应用程序在运行时的工作。 Inspekage通过以下方式显示应用程序的操作:
图 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框架中还有一个用于自动测试的模块,但这需要单独的文章。