React Native Application
React Native 应用程序分析
要确认应用程序是否基于React Native框架构建,请按照以下步骤操作:
使用命令
cp com.example.apk example-apk.zip
将APK文件重命名为zip扩展名,并将其提取到一个新文件夹中。转到新创建的ReactNative文件夹,并找到assets文件夹。在此文件夹中,您应该找到名为
index.android.bundle
的文件,其中包含React JavaScript的压缩格式。使用命令
find . -print | grep -i ".bundle$"
搜索JavaScript文件。
要进一步分析JavaScript代码,请在相同目录中创建一个名为index.html
的文件,其中包含以下代码:
你可以将文件上传到https://spaceraccoon.github.io/webpack-exploder/,或按照以下步骤操作:
在Google Chrome中打开
index.html
文件。通过按下OS X的Command+Option+J或Windows的Control+Shift+J来打开开发者工具栏。
在开发者工具栏中点击“Sources”。您应该会看到一个JavaScript文件,该文件分为文件夹和文件,组成了主要的捆绑包。
如果找到名为index.android.bundle.map
的文件,则可以以未经缩小的格式分析源代码。映射文件包含源映射,允许您映射缩小后的标识符。
要搜索敏感凭据和端点,请按照以下步骤操作:
确定要分析JavaScript代码的敏感关键字。React Native应用程序通常使用第三方服务,如Firebase、AWS S3服务端点、私钥等。
在这种特定情况下,观察到应用程序正在使用Dialogflow服务。搜索与其配置相关的模式。
在侦察过程中,幸运地在JavaScript代码中找到了敏感的硬编码凭据。
参考资料
最后更新于