hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md

65 lines
5.5 KiB
Markdown
Raw Normal View History

{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
# Аналіз додатків React Native
2021-02-01 09:24:10 +00:00
Щоб підтвердити, чи була програма створена на основі фреймворку React Native, виконайте ці кроки:
2021-02-01 09:24:10 +00:00
1. Перейменуйте файл APK з розширенням zip і витягніть його в нову папку, використовуючи команду `cp com.example.apk example-apk.zip` та `unzip -qq example-apk.zip -d ReactNative`.
2021-02-01 09:24:10 +00:00
2. Перейдіть до новоствореної папки ReactNative і знайдіть папку assets. Усередині цієї папки ви повинні знайти файл `index.android.bundle`, який містить React JavaScript у мінімізованому форматі.
2021-02-01 09:24:10 +00:00
2024-03-29 18:49:46 +00:00
3. Використовуйте команду `find . -print | grep -i ".bundle$"` для пошуку файлу JavaScript.
2021-02-01 09:24:10 +00:00
Щоб далі проаналізувати код JavaScript, створіть файл з назвою `index.html` у тій же директорії з наступним кодом:
2024-02-03 16:02:14 +00:00
```html
<script src="./index.android.bundle"></script>
2021-11-03 10:22:49 +00:00
```
Ви можете завантажити файл на [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) або дотримуйтесь цих кроків:
2021-11-03 10:22:49 +00:00
2024-03-29 18:49:46 +00:00
1. Відкрийте файл `index.html` у Google Chrome.
2021-02-01 09:24:10 +00:00
2. Відкрийте панель розробника, натиснувши **Command+Option+J для OS X** або **Control+Shift+J для Windows**.
2021-08-09 12:26:47 +00:00
3. Клацніть на "Sources" у панелі розробника. Ви повинні побачити файл JavaScript, який розділений на папки та файли, що складають основний пакет.
2021-02-01 09:24:10 +00:00
Якщо ви знайдете файл під назвою `index.android.bundle.map`, ви зможете проаналізувати вихідний код у немінімізованому форматі. Файли карт містять відображення виходу, що дозволяє вам відображати мінімізовані ідентифікатори.
2021-02-01 09:24:10 +00:00
Щоб знайти чутливі облікові дані та кінцеві точки, дотримуйтесь цих кроків:
2021-02-01 09:24:10 +00:00
1. Визначте чутливі ключові слова для аналізу коду JavaScript. Додатки React Native часто використовують сторонні сервіси, такі як Firebase, кінцеві точки сервісу AWS S3, приватні ключі тощо.
2021-02-01 09:24:10 +00:00
2. У цьому конкретному випадку було помічено, що додаток використовує сервіс Dialogflow. Шукайте шаблон, пов'язаний з його конфігурацією.
2021-02-01 09:24:10 +00:00
3. Було щасливо, що чутливі жорстко закодовані облікові дані були знайдені в коді JavaScript під час процесу розвідки.
2021-02-01 09:24:10 +00:00
## References
2024-02-03 16:02:14 +00:00
* [https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7](https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7)
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}