在渗透测试移动应用程序时,我应该多关心 iOS/Android 版本?

信息安全 移动的 安卓 IOS iPhone
2021-09-09 20:11:49

假设我正在对移动应用程序进行渗透测试,我在运行应用程序时使用的操作系统版本有多重要?

即,如果我测试为 Android 构建的移动应用程序,检查它是否适用于 Android 2.1 和 Android 4.2 是否重要?

2个回答

这在很大程度上取决于,但在 2.1 和 4.2 之间有一些重大的 API 更改,这可能会改变某些操作在设备上的工作方式。

如果您正在查看音乐应用程序或游戏之类的东西,您可能会发现操作代码(凭据处理、网络内容、缓冲区等)中的任何漏洞,而不是 API 的滥用。但是,如果您正在查看更深入的应用程序(例如 APK 安装程序、ROM 管理器等),您可能会发现 API 的更多不寻常用途(或滥用),所以这是一个案例当然值得检查多个版本和设备。

完全相同的逻辑适用于 iOS,但请记住,由于 Apple 在版本之间的重大更改,许多应用程序将针对一组相当有限的 iOS 版本。

这取决于您要测试的内容。我发现旧设备使用起来稍微容易一些,因为您可以直接安装它们(它们不使用 MTP)并更快地运行您的工具。

正如多项式所说,2.1 到 4.2 中的 API 发生了重大变化。在那个时候,JavaScript 支持得到了极大的扩展,这可能与您的测试相关,也可能不相关。

如果您查看 manifest.xml 文件,您可以确定应用程序的目标和支持的 SDK 级别,这将为您提供更多信息。大多数应用程序在整个版本升级过程中表现相似。但是,如果您查看应用程序的代码本身,您将能够查看和 sdk 级别的特定代码,您可以使用这些代码来确定可能需要的额外测试。