5.7 KiB
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一个网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFTs收藏品The PEASS Family
-
加入 💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享你的黑客技巧。
React Native是一个移动应用程序框架,最常用于通过使用React和本地平台功能来开发Android和iOS应用程序。如今,越来越流行在各个平台上使用React。
但是大多数情况下,应用程序的核心逻辑位于React Native的JavaScript中,可以在不使用dex2jar的情况下获得。
步骤1:确认应用程序是否是基于React Native框架构建的。
要检查这一点,将APK文件重命名为zip扩展名,然后使用以下命令将APK文件提取到一个新文件夹中
cp com.example.apk example-apk.zip
unzip -qq example-apk.zip -d ReactNative
浏览到新创建的ReactNative
文件夹,并找到assets
文件夹。在这个文件夹里,应该包含index.android.bundle
。这个文件将以压缩格式包含所有的React JavaScript代码。React Native逆向工程
find . -print | grep -i ".bundle$"
步骤2:在相同目录下创建一个名为index.html
的文件,并在其中添加以下代码。
您可以将文件上传到https://spaceraccoon.github.io/webpack-exploder/,或按照以下步骤进行操作:
<script src="./index.android.bundle"></script>
在Google Chrome中打开index.html文件。打开开发者工具栏(OS X按Command+Option+J,Windows按Control+Shift+J),然后点击“Sources”。你应该能看到一个JavaScript文件,分成文件夹和文件,组成主要的捆绑包。
如果你能找到一个名为
index.android.bundle.map
的文件,你就能以未压缩的格式分析源代码。map
文件包含了源映射,可以将压缩的标识符映射回原始代码。
第三步:搜索敏感凭证和终端点
在这个阶段,你需要识别敏感关键词来分析Javascript代码。React Native应用程序中常见的一种模式是使用第三方服务,比如Firebase、AWS S3服务终端点、私钥等等。
在我的初始侦察过程中,我观察到应用程序使用了Dialogflow服务。所以基于此,我搜索了与其配置相关的模式。幸运的是,我在Javascript代码中找到了敏感的硬编码凭证。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一家网络安全公司工作吗?想要在HackTricks中宣传你的公司吗?或者你想要获取PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFT收藏品The PEASS Family
-
加入💬 Discord群组或电报群组,或者关注我在Twitter上的🐦@carlospolopm。
-
通过向hacktricks仓库和hacktricks-cloud仓库提交PR来分享你的黑客技巧。