JS Miner w Burp Suite – automatyczna analiza JavaScript w pentestach

Podczas testów bezpieczeństwa aplikacji webowych często potrzebujemy szybko odnaleźć ukryte sekrety, klucze API, hasła czy endpointy w kodzie JavaScript. Jednym z narzędzi, które znacząco ułatwia to zadanie, jest JSMiner – dodatek do Burp Suite Professional.
W tym wpisie pokażę, jak działa JSMiner, jak go skonfigurować i w jakich scenariuszach najlepiej się sprawdza.

Instalacja i wymagania

JSMiner można pobrać bezpośrednio z Burp App Store.

Uwaga: dodatek działa wyłącznie w wersji Professional Burp Suite.

Alternatywnie możliwe jest ręczne pobranie pliku .BAPP lub odwiedzenie repozytorium na GitHub, gdzie znajdziesz changelogi i ewentualne tutoriale.

Jak działa JSMiner?

Dodatek analizuje pliki – głównie JavaScript – w poszukiwaniu:

  • kluczy API i tokenów,
  • haseł i sekretów,
  • endpointów API,
  • subdomen,
  • oraz plików source map (.map), które często ujawniają więcej niż skompilowany JS.

JSMiner integruje się z mechanizmem skanowania w Burp Suite:

  • Podczas aktywnych skanów – wysyła dodatkowe zapytania do serwera w poszukiwaniu potencjalnie interesujących plików.
  • Podczas pasywnych skanów – analizuje odpowiedzi serwera i wychwytuje w nich potencjalne dane wrażliwe.

Tryby pracy i konfiguracja

Po zainstalowaniu znajdziesz JSMiner w zakładce Extensions.
Możliwe tryby działania to m.in.:

  • Auto Mine (Check Everything) – uruchamia wszystkie dostępne testy (zarówno pasywne, jak i aktywne).
  • Passive Scan – analizuje istniejące odpowiedzi w projekcie bez wysyłania dodatkowych żądań.
  • Active Checks – np. wyszukiwanie plików .map, które mogą ujawniać dodatkowe informacje.

Wyniki skanowania

Rezultaty można przeglądać w kilku miejscach:

  1. Site Map – klikając na konkretną stronę zobaczymy, co JSMiner wykrył.
  1. Zakładka Advisory – zawiera szczegóły potencjalnych problemów, choć część z nich to false positives (np. słowo „password” w kodzie, które nie jest realnym hasłem).
  1. Zakładka Extensions → Output – wyświetla dodatkowe informacje, m.in. listę plików przetwarzanych w trakcie skanowania.

Przykłady zastosowania

JSMiner może być szczególnie przydatny w scenariuszach takich jak:

  • wykrywanie nowych endpointów API dodanych bez aktualizacji dokumentacji,
  • wyszukiwanie kluczy API i sekretów pozostawionych w kodzie,
  • identyfikacja plików .map pozwalających na analizę źródeł frontendu.

Dzięki niemu można szybko wyłapać zmiany w kodzie – np. na programach Bug Bounty, gdzie drobne aktualizacje JS mogą ujawniać nowe możliwości ataku.

Podsumowanie

JSMiner to potężny, a jednocześnie prosty w obsłudze dodatek do Burp Suite.
Jego największe zalety to:

  • integracja z mechanizmem skanowania,
  • wykrywanie wrażliwych danych w JS,
  • możliwość działania zarówno w trybie pasywnym, jak i aktywnym.

Pamiętaj jednak, aby zawsze analizować wyniki pod kątem false positives i stosować aktywne skany wyłącznie za zgodą właściciela testowanej aplikacji.