2
0
Fork 0
mirror of https://github.com/carlospolop/hacktricks synced 2024-12-26 13:03:37 +00:00
hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md
2024-02-11 01:46:25 +00:00

4.7 KiB

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Analiza aplikacji React Native

Aby potwierdzić, czy aplikacja została zbudowana na platformie React Native, wykonaj następujące kroki:

  1. Zmień nazwę pliku APK na rozszerzenie zip i wypakuj go do nowego folderu za pomocą polecenia cp com.example.apk example-apk.zip i unzip -qq example-apk.zip -d ReactNative.

  2. Przejdź do nowo utworzonego folderu ReactNative i znajdź folder assets. Wewnątrz tego folderu powinieneś znaleźć plik index.android.bundle, który zawiera kod JavaScript React w zminifikowanym formacie.

  3. Użyj polecenia find . -print | grep -i ".bundle$" aby wyszukać plik JavaScript.

Aby dalszo analizować kod JavaScript, utwórz plik o nazwie index.html w tym samym katalogu z następującym kodem:

<script src="./index.android.bundle"></script>

Możesz przesłać plik na https://spaceraccoon.github.io/webpack-exploder/ lub postępować zgodnie z poniższymi krokami:

  1. Otwórz plik index.html w przeglądarce Google Chrome.

  2. Otwórz Pasek Narzędzi Deweloperskich, naciskając Command+Option+J dla systemu OS X lub Control+Shift+J dla systemu Windows.

  3. Kliknij "Sources" w Pasku Narzędzi Deweloperskich. Powinieneś zobaczyć plik JavaScript podzielony na foldery i pliki, tworzące główny pakiet.

Jeśli znajdziesz plik o nazwie index.android.bundle.map, będziesz mógł analizować kod źródłowy w formacie niezmienionym przez minifikację. Pliki map zawierają mapowanie źródła, które pozwala na odwzorowanie zminifikowanych identyfikatorów.

Aby wyszukać poufne dane uwierzytelniające i punkty końcowe, postępuj zgodnie z poniższymi krokami:

  1. Zidentyfikuj wrażliwe słowa kluczowe do analizy kodu JavaScript. Aplikacje React Native często korzystają z usług osób trzecich, takich jak Firebase, punkty końcowe usługi AWS S3, klucze prywatne, itp.

  2. W tym konkretnym przypadku zaobserwowano, że aplikacja korzysta z usługi Dialogflow. Wyszukaj wzorzec związany z jej konfiguracją.

  3. W trakcie procesu rozpoznawania udało się znaleźć wrażliwe dane uwierzytelniające wpisane na stałe w kodzie JavaScript.

Referencje

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: