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

62 lines
4.8 KiB
Markdown

<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
</details>
# Analyse de l'application React Native
Pour confirmer si l'application a été construite sur le framework React Native, suivez ces étapes :
1. Renommez le fichier APK avec une extension zip et extrayez-le dans un nouveau dossier en utilisant la commande `cp com.example.apk example-apk.zip` et `unzip -qq example-apk.zip -d ReactNative`.
2. Accédez au dossier ReactNative nouvellement créé et localisez le dossier des ressources. À l'intérieur de ce dossier, vous devriez trouver le fichier `index.android.bundle`, qui contient le JavaScript React sous une forme minifiée.
3. Utilisez la commande `find . -print | grep -i ".bundle$"` pour rechercher le fichier JavaScript.
Pour analyser plus en détail le code JavaScript, créez un fichier nommé `index.html` dans le même répertoire avec le code suivant :
```html
<script src="./index.android.bundle"></script>
```
Vous pouvez télécharger le fichier sur [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) ou suivre ces étapes :
1. Ouvrez le fichier `index.html` dans Google Chrome.
2. Ouvrez la barre d'outils des développeurs en appuyant sur **Command+Option+J pour OS X** ou **Control+Shift+J pour Windows**.
3. Cliquez sur "Sources" dans la barre d'outils des développeurs. Vous devriez voir un fichier JavaScript divisé en dossiers et fichiers, constituant le bundle principal.
Si vous trouvez un fichier appelé `index.android.bundle.map`, vous pourrez analyser le code source dans un format non minifié. Les fichiers de carte contiennent des mappings de source, ce qui vous permet de mapper les identifiants minifiés.
Pour rechercher des informations sensibles et des points de terminaison, suivez ces étapes :
1. Identifiez des mots-clés sensibles pour analyser le code JavaScript. Les applications React Native utilisent souvent des services tiers comme Firebase, les points de terminaison du service AWS S3, des clés privées, etc.
2. Dans ce cas spécifique, il a été observé que l'application utilisait le service Dialogflow. Recherchez un motif lié à sa configuration.
3. Il a été chanceux de trouver des informations sensibles codées en dur dans le code JavaScript lors du processus de reconnaissance.
## Références
* [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)
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>