tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
React Native 应用程序分析
要确认应用程序是否基于 React Native 框架构建,请按照以下步骤操作:
-
将 APK 文件重命名为 zip 扩展名,并使用命令
cp com.example.apk example-apk.zip
和unzip -qq example-apk.zip -d ReactNative
将其提取到新文件夹中。 -
导航到新创建的 ReactNative 文件夹,找到 assets 文件夹。在此文件夹中,您应该找到文件
index.android.bundle
,该文件包含以压缩格式编写的 React JavaScript。 -
使用命令
find . -print | grep -i ".bundle$"
搜索 JavaScript 文件。
要进一步分析 JavaScript 代码,请在同一目录中创建一个名为 index.html
的文件,内容如下:
<script src="./index.android.bundle"></script>
您可以将文件上传到 https://spaceraccoon.github.io/webpack-exploder/ 或按照以下步骤操作:
-
在 Google Chrome 中打开
index.html
文件。 -
按 Command+Option+J for OS X 或 Control+Shift+J for Windows 打开开发者工具栏。
-
在开发者工具栏中点击“Sources”。您应该会看到一个分成文件夹和文件的 JavaScript 文件,构成主要的捆绑包。
如果您找到一个名为 index.android.bundle.map
的文件,您将能够以未压缩的格式分析源代码。映射文件包含源映射,这使您能够映射压缩的标识符。
要搜索敏感凭证和端点,请按照以下步骤操作:
-
确定敏感关键词以分析 JavaScript 代码。React Native 应用程序通常使用第三方服务,如 Firebase、AWS S3 服务端点、私钥等。
-
在这种特定情况下,观察到该应用程序使用了 Dialogflow 服务。搜索与其配置相关的模式。
-
幸运的是,在侦查过程中在 JavaScript 代码中发现了敏感的硬编码凭证。
参考文献
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。