React Native Application
Аналіз додатка на 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
, який містить JavaScript React у мініфікованому форматі.Використовуйте команду
find . -print | grep -i ".bundle$"
для пошуку файлу JavaScript.
Для подальшого аналізу коду JavaScript створіть файл з назвою index.html
в тій же папці з наступним кодом:
Ви можете завантажити файл на https://spaceraccoon.github.io/webpack-exploder/ або виконати наступні кроки:
Відкрийте файл
index.html
у Google Chrome.Відкрийте Панель розробника, натиснувши Command+Option+J для OS X або Control+Shift+J для Windows.
Клацніть на "Sources" у Панелі розробника. Ви повинні побачити файл JavaScript, розділений на теки та файли, які складають основний пакет.
Якщо ви знайдете файл під назвою index.android.bundle.map
, ви зможете проаналізувати вихідний код у немініфікованому форматі. Файли карт містять відображення джерел, що дозволяє вам відображати мініфіковані ідентифікатори.
Щоб знайти чутливі облікові дані та кінцеві точки, виконайте наступні кроки:
Визначте чутливі ключові слова для аналізу коду JavaScript. Додатки React Native часто використовують сторонні служби, такі як Firebase, кінцеві точки служби AWS S3, приватні ключі тощо.
У цьому конкретному випадку було помічено, що додаток використовував службу Dialogflow. Шукайте шаблон, пов'язаний з його конфігурацією.
Було щасливо, що чутливі захардкоджені облікові дані було знайдено в коді JavaScript під час процесу реконнесансу.
Посилання
Last updated