Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🧪 Burp Suite: skaner sieciowy i crawler do pentestów

🧪 Burp Suite: skaner sieciowy i crawler do pentestów

Penetrator wchodzi na nieznaną stronę i widzi tylko fasadę. Prawdziwe podatności, SQL injection, XSS, path traversal, kryją się w głębi: ukrytych katalogach, zapomnianych endpointach, nieoczywistych parametrach zapytań. Ręczne przeszukiwanie pochłania godziny. Automatyczne, bez odpowiedniego narzędzia, albo pomija krytyczne punkty wejścia, albo kładzie aplikację lawiną zapytań.

Burp Suite Professional rozwiązuje to zadanie za pomocą połączenia „crawler + skaner". Jedno przejście i mają Państwo mapę aplikacji, a każda strona jest sprawdzona pod kątem dziesiątek klas podatności. Wszystko w jednym oknie, bez skryptów i wiersza poleceń.

To jest przewodnik, krok po kroku omawiający crawler i skaner Burp Suite: od podstawowego przeszukiwania do precyzyjnego dostrojenia audytu. Zrzuty ekranu są aktualne dla wersji 2024+, logika nie zmieniła się od Burp 2.0. Omówimy Crawl, Audit i tryb łączony Crawl and Audit.

💡 Szybki przegląd:

  • Uruchamiają Państwo podstawowe skanowanie crawlerem: zakładka Dashboard, New Scan, Crawl, otrzymują Państwo mapę strony w Target.
  • Konfigurują Państwo crawler pod zadanie: wykluczają Państwo URL-e poza scope, dodają dane logowania, regulują pulę zapytań.
  • Przechodzą Państwo do audytu: Audit Selected Items na dowolnym URL-u z mapy, Burp sam znajduje podatności i klasyfikuje je według severity.
  • Łączą Państwo Crawl + Audit dla testu end-to-end: crawler przeszukuje stronę, skaner natychmiast sprawdza każdą znalezioną stronę.
  • Kończą Państwo analizę, studiując Advisory: payload, zapytanie/odpowiedź, CVSS i kroki naprawcze.

Czym jest web crawler w Burp Suite

Web crawler (zwany też pająkiem, spiderem) to mechanizm, który przeszukuje aplikację webową: przechodzi przez linki, wysyła formularze i loguje się do chronionych sekcji. Wynikiem jest drzewiasta mapa strony (site map) na zakładce Target, gdzie każdy URL ma metody HTTP i parametry zapytań.

Do wersji 1.7 w Burp Suite używany był Spider, osobne narzędzie z własną zakładką. Począwszy od Burp 2.0, PortSwigger zastąpił go Crawlerem, wbudowanym bezpośrednio w Dashboard. Wszystkie automatyczne działania, przeszukiwanie, audyt, logowanie, zebrane są w jednym oknie. Zarządzanie: pauza/wznawianie dla każdego zadania osobno.

W istocie crawler robi to samo, co DirBuster lub Dirb: przegląda katalogi, rejestruje ukryte URL-e. Jednak w przeciwieństwie do nich, Burp Crawler analizuje zawartość stron, wykonuje JavaScript (jeśli analiza jest włączona) i rozumie logikę nawigacyjną aplikacji. DirBuster i Dirb po prostu brute-force'ują według słownika. Crawler buduje graf aplikacji.

Uruchamianie crawlera: skanowanie podstawowe

Proszę otworzyć Burp Suite i przejść na zakładkę Dashboard. Panel jest podzielony na cztery strefy:

  • Tasks, wszystkie uruchomione przeszukiwania i skanowania. Stąd można wstrzymywać, wznawiać i przeglądać szczegóły każdego zadania.
  • Event log, zdarzenia Burp Suite: uruchomienie proxy, awarie modułów, zakończenie skanowania.
  • Issue activity, znalezione podatności z filtrowaniem według severity i typu.
  • Advisories, rozwinięta karta wybranej podatności: payload, zapytanie/odpowiedź i CVSS.

Proszę kliknąć przycisk New Scan w górnej części sekcji Tasks.

Przycisk New Scan na pulpicie Burp Suite

Pojawi się wyskakujące okno New Scan z dwiema opcjami:

  • Crawl and audit, przeszukiwanie + audyt w jednym uruchomieniu;
  • Crawl, tylko przeszukiwanie.

Na pierwszy kontakt proszę wybrać Crawl. Proszę wprowadzić testowy URL, na przykład http://testphp.vulnweb.com, i kliknąć OK.

Okno New Scan z wyborem trybu Crawl i polem URL

Okno zostanie zamknięte. Na Dashboard w Tasks pojawi się nowe zadanie, „Crawl testphp.vulnweb.com". Event log potwierdzi zdarzenie „Crawl started".

Zadanie skanowania w Dashboard i zdarzenie uruchomienia w Event log

Po kilku minutach zadanie się zakończy. Wyniku proszę szukać na zakładce Target, crawler umieszcza mapę strony właśnie tam, w postaci drzewa URL-i.

Mapa witryny na karcie Target po zakończeniu crawl

Na prawym panelu każdy URL ma metody HTTP i kolumnę Parameters. To właśnie parametry wskazują punkty wejścia, potencjalnie podatne na iniekcje. Proszę dwukrotnie kliknąć nagłówek kolumny Parameters, URL-e z parametrami przesuną się na górę.

Kolumna Parameters na karcie Target do wyszukiwania punktów wejścia

Lewy panel Target zajmuje drzewo strony, klikalne i z zagnieżdżeniem URL-i. Proszę wybrać dowolny katalog, prawy panel natychmiast pokaże jego metody i parametry.

Drzewo URL na lewym panelu karty Target z wyborem katalogu

Precyzyjne dostrajanie crawlera

Podstawowe przeszukiwanie wystarcza dla prostych stron. Jednak rzeczywista aplikacja jest bardziej złożona: część stron jest poza scope, zamknięte sekcje wymagają autoryzacji, a wrażliwa aplikacja nie wytrzymuje dziesiątek jednoczesnych zapytań.

Wracamy na Dashboard, ponownie klikamy New Scan, ale teraz nie spieszymy się z OK. Konfigurujemy.

Wykluczanie URL-i poza scope

W sekcji Scan details proszę znaleźć Detailed scope configuration. Proszę przejść do Excluded URL prefixes i dodać URL, który nie powinien trafić do przeszukiwania, na przykład http://testphp.vulnweb.com/signup.php.

Pole Excluded URL prefixes w ustawieniach zakresu skanowania

Tworzenie konfiguracji użytkownika

Proszę przejść do Scan configuration i kliknąć przycisk New.

Przycisk New w sekcji Scan configuration do tworzenia profilu

Otworzy się okno z parametrami. Nazwę konfiguracji można pozostawić domyślną. Kluczowy parametr, Crawl optimization: suwak od „Fastest" do „Deepest" określa, jak głęboko crawler wchodzi w aplikację. Dla testu bojowego należy ustawić bliżej Deepest, dla szybkiego rekonesansu, bliżej Fastest.

Suwak Crawl optimization od Fastest do Deepest

Ograniczenia czasu i liczby stron ustawia się w tym samym miejscu. Rozsądne wartości dla średniej aplikacji: Maximum crawl time, 50 minut, Maximum unique locations discovered, 5000.

Ustawienia limitów crawlera: czas i liczba unikalnych stron

Dane logowania do sekcji zamkniętych

Jeśli aplikacja wymaga logowania, należy zaznaczyć pola wyboru Log in to user registration portals i Log in using invalid credentials. Crawler spróbuje zarejestrować się z losowymi danymi lub wprowadzić celowo niepoprawne dane logowania, aby zobaczyć zachowanie witryny przy nieudanym uwierzytelnieniu.

Checkboxy autoryzacji crawlera dla portali rejestracji i logowania

Klikamy Save, konfiguracja pojawi się na liście rozwijanej Scan configuration.

Zapisana konfiguracja crawlera na liście wyboru

Teraz dodamy prawdziwe dane logowania, będą potrzebne, jeśli crawler natrafi na portal administracyjny lub zamkniętą sekcję. Należy przejść do sekcji Application login i kliknąć Create.

Sekcja Application login do dodawania poświadczeń crawlera

Należy wprowadzić login i hasło, a następnie kliknąć OK.

Okno wprowadzania poświadczeń do autoryzacji crawlera

Pula zasobów i jednoczesne żądania

Sekcja Resource pool zarządza tym, ile jednoczesnych żądań crawler wysyła do aplikacji i z jakim opóźnieniem. W przypadku wrażliwej aplikacji należy zmniejszyć liczbę wątków i zwiększyć opóźnienie. Dla stanowiska demonstracyjnego pozostawiamy wartości domyślne.

Ustawienia Resource pool: liczba wątków i opóźnienie między żądaniami

Klikamy OK, crawler startuje z zadaną konfiguracją. Postęp śledzimy na Dashboard.

Dashboard z uruchomionym zadaniem crawlera po konfiguracji

Po zakończeniu przechodzimy na zakładkę Target. Strona signup.php jest nieobecna na mapie witryny, wykluczony prefiks zadziałał jak należy.

Mapa witryny po crawl z wykluczonym URL, brak signup.php

Skanowanie podatności: tryb audytu

Crawler dostarcza mapę aplikacji. Audyt idzie dalej, sprawdza znalezione adresy URL pod kątem podatności: SQL injection, XSS, command injection, path traversal i dziesiątki innych klas. W terminologii Burp Suite nazywa się to „aktywnym skanowaniem".

W przeciwieństwie do pasywnego (analiza odpowiedzi bez dodatkowych żądań), aktywny audyt wysyła zmodyfikowane żądania z payloadami i interpretuje reakcję aplikacji.

Audyt z ustawieniami domyślnymi

Jeśli aplikacja została już przeskanowana przez crawler, można poddać audytowi dowolny adres URL z mapy witryny. Na karcie Target klikamy prawym przyciskiem myszy bazowy adres URL i wybieramy Scan.

Menu kontekstowe na URL: opcja Scan do uruchomienia audytu

Ponownie otwiera się okno New Scan, ale teraz aktywna jest opcja Audit selected items. Wszystkie adresy URL z mapy witryny są automatycznie pobierane do pola Items to scan. Klikamy OK.

Okno New Scan z opcją Audit selected items i listą URL

Przechodzimy do Dashboard. Obraz się zmienił: sekcje Tasks i Event log są aktywne, a co najważniejsze, w Issue activity i Advisories pojawiły się dane.

Dashboard po uruchomieniu audytu: Task, Issue activity i Advisories wypełnione

W ciągu kilku minut skaner wysłał około 17 000 żądań i wykrył podatności pogrupowane według stopnia zagrożenia: high (czerwony), medium (żółty), info (szary).

Przycisk View details w karcie zadania audytu na Dashboard

Otworzy się okno z pełnym zestawieniem. Karta Audit items pokazuje sprawdzone adresy URL i liczbę znalezionych podatności.

Karta Audit items z listą sprawdzonych URL i podatności

Karta Issue activity, te same informacje w podziale na severity. Każdą podatność można rozwinąć i przejrzeć Advisory.

Karta Issue activity z grupowaniem podatności według severity

Karta Advisories, pełna karta wybranej podatności. W górnej części adres URL, severity, confidence, ocena CVSS. Poniżej opis, zalecenia dotyczące usunięcia i odnośniki do zasobów zewnętrznych dotyczących tej klasy podatności.

Pełna karta Advisory z CVSS, opisem i rekomendacjami

Aby zobaczyć konkretne żądanie HTTP i odpowiedź, które doprowadziły do wykrycia, należy przejść na kartę HTTP request/response. To tutaj widać payload, który Burp wysłał do aplikacji, i odpowiedź serwera potwierdzającą podatność.

Karta HTTP request/response: wysłany payload i odpowiedź serwera

Dostrajanie audytu

Audyt domyślny obejmuje wszystkie klasy podatności. Czasami jednak trzeba zawęzić zakres: sprawdzić tylko SQL injection lub tylko XSS. Albo przeciwnie, dodać niestandardowe testy dla specyficznego API.

Tworzenie profilu audytu

Ponownie otwieramy okno New Scan. W sekcji Scan configuration klikamy New, tworzymy konfigurację audytu.

Przycisk New w sekcji Scan configuration dla profilu audytu

W oknie przechodzimy na kartę Audit optimization. Są tu trzy poziomy:

  • Default, standardowe pokrycie, równowaga między szybkością a głębokością;
  • Thorough, rozszerzony zestaw payloadów i głębsze sprawdzenie każdego parametru;
  • Fast, tryb uproszczony, mniej żądań i testów.
Karta Audit optimization: wybór Default, Thorough lub Fast

Sekcja Issues reported umożliwia wybór konkretnych klas podatności. Na przykład, pozostawienie tylko SQL injection i Cross-site scripting sprawi, że skaner nie będzie tracił czasu na sprawdzanie path traversal czy command injection.

Sekcja Issues reported: wybór klas podatności do audytu

Na karcie Audit optimization > Custom można dokładniej skonfigurować przecięcia klas oraz intensywność testów.

Szczegółowa konfiguracja przecięcia klas podatności w Custom

Typy skanowania

Na karcie Audit optimization znajduje się sekcja Scan type z czterema poziomami agresywności:

  • Passive, wyłącznie analiza ruchu, bez dodatkowych żądań. Bezpieczny dla środowiska produkcyjnego, ale wykrywa tylko nagłówki i problemy konfiguracyjne.
  • Light active, minimalny zestaw aktywnych testów. Kompromis między pokryciem a ryzykiem.
  • Medium active, więcej testów, średnie obciążenie. Dla środowiska stagingowego.
  • Intrusive, pełny zestaw, w tym testy destrukcyjne. Tylko na izolowanym stanowisku testowym.
Sekcja wyboru typu skanowania: Passive, Light, Medium, Intrusive

Tam również opcjonalnie włącza się JavaScript** analysis**, crawler wykonuje JS w celu wykrycia dynamicznej zawartości i ukrytych endpointów w aplikacjach SPA.

Checkbox JavaScript analysis w ustawieniach skanowania

Ostateczny wybór typu skanowania jest wyświetlany w górnej części okna konfiguracji.

Wybór typu skanowania: Passive, Light active, Medium active, Intrusive, JS analysis

Punkty wstawiania (Insertion points)

Punkty wstawiania to pozycje wewnątrz żądań, w które Burp wstawia payloady. Domyślnie skaner określa je automatycznie: parametry URL, treść POST, nagłówki, cookies. W trybie zaawansowanym można ograniczyć lub rozszerzyć zestaw pozycji.

Ustawienia punktów wstawiania payloadów w żądaniach

Zapisujemy konfigurację, pojawi się ona na liście rozwijanej.

Zapisany profil audytu na rozwijanej liście konfiguracji

Klikamy OK. Skaner wysyła około 2 700 żądań (w porównaniu z 17 000 przy pełnym audycie) i znajduje jedną podatność o wysokim poziomie ryzyka.

Wynik audytu Light active: 2700 żądań, 1 podatność

Teraz po kliknięciu prawym przyciskiem myszy na URL w Target pojawiają się nie jedna, a dwie opcje skanowania: domyślna i nasza niestandardowa.

Dwie opcje skanowania w menu kontekstowym URL po utworzeniu profilu

Wbudowane testy z biblioteki

Ręczne konfigurowanie audytu nie jest obowiązkowe. Burp Suite jest dostarczany z biblioteką gotowych profili. Podczas tworzenia nowej konfiguracji należy kliknąć Select from library w dolnej części okna.

Przycisk Select from library w oknie tworzenia konfiguracji audytu

Proszę wybrać dowolny wbudowany profil, na przykład zoptymalizowany pod kątem konkretnej klasy podatności lub typu aplikacji.

Biblioteka wbudowanych profili audytu Burp Suite

Wybrany profil zostanie przeniesiony z powrotem do okna New Scan.

Wybrany z biblioteki profil audytu w oknie New Scan

Klikamy OK. Po zakończeniu audytu menu kontekstowe URL w zakładce Target pokazuje już trzy warianty skanowania: domyślny, niestandardowy i biblioteczny.

Trzy opcje skanowania w menu kontekstowym URL: domyślny, niestandardowy, z biblioteki

Skanowanie i audyt w jednym uruchomieniu

Do tej pory uruchamialiśmy crawler i audyt osobno. Burp Suite obsługuje jednak kompleksowy tryb Crawl and Audit: najpierw obchodzi aplikację, a następnie od razu sprawdza wszystko, co znalazł, pod kątem podatności.

Na Dashboard ponownie klikamy New Scan, wybieramy Crawl and audit, wprowadzamy URL.

Okno New Scan z wyborem trybu Crawl and audit i polem URL

W sekcji konfiguracji po kliknięciu Create Burp pyta, którą część skonfigurować: optymalizację crawlera czy parametry audytu. Wewnętrzne parametry są takie same, jak te, które widzieliśmy osobno.

Menu wyboru: ustawienia crawlera lub audytu w trybie Crawl and Audit

Jest to podstawowy tryb dla testów penetracyjnych w warunkach bojowych: jedno uruchomienie obejmuje zarówno rekonesans, jak i wyszukiwanie podatności. W przypadku dużych aplikacji z dziesiątkami tysięcy stron szybciej jest podzielić pracę na dwa etapy: najpierw crawler, potem audyt. Jednak dla większości witryn Crawl and Audit daje wynik w jednym przebiegu.

Zarządzanie zadaniami: usuwanie i czyszczenie

Zakończone i nieaktualne zadania warto usuwać, aby nie zaśmiecać Dashboard. Proszę kliknąć ikonę kosza obok zadania.

Ikona kosza do usuwania zadania na pulpicie Dashboard

Proszę potwierdzić usunięcie w wyskakującym oknie.

Okno potwierdzenia usunięcia zadania w Burp Suite

Zadania są usuwane natychmiast, wraz ze wszystkimi zebranymi danymi. Przed usunięciem należy upewnić się, że wyniki audytu zostały zapisane lub wyeksportowane.

Wideo: pełne omówienie Burp Suite Scanner

Crawler i skaner to tylko część Burp Suite. To wideo obejmuje pełny cykl testu penetracyjnego: od konfiguracji proxy po aktywny audyt i eksploatację znalezionych podatności.

⁉️🤔 Często zadawane pytania

Czym crawler Burp Suite różni się od DirBuster i Dirb?

DirBuster i Dirb działają słownikowo, sprawdzają nazwy katalogów z gotowej listy. Crawler Burp Suite buduje graf aplikacji: analizuje zawartość stron, wyodrębnia linki, wysyła formularze i potrafi się logować. Rezultat, mapa aplikacji z powiązaniami nawigacyjnymi, metodami i parametrami. Znajduje to, czego nie ma w słownikach: dynamiczne adresy URL, punkty wejścia przez przekierowania JavaScript i ukryte endpointy za formularzami logowania.

Jaka wersja Burp Suite jest potrzebna do crawlera i audytu?

Crawler i aktywny audyt są dostępne tylko w Burp Suite Professional (499 USD za użytkownika rocznie w 2026, ceny Burp Suite Professional). Community Edition zawiera proxy, Repeater, Intruder z ograniczeniem prędkości oraz Decoder, ale nie ma Crawlera ani Scannera. Professional daje oba narzędzia plus nieograniczony Intruder, Collaborator i skrypty BCheck do niestandardowych testów. Od wersji 2025 Professional ma również wbudowane Burp AI, asystenta AI do interpretacji wyników skanowania. Enterprise Edition dodaje integrację CI/CD, harmonogram i pracę zespołową.

Czy można skanować stronę niewidoczną z internetu?

Crawler i audyt działają przez upstream proxy Burp Suite. Wszystko, co jest dostępne dla przeglądarki przez Burp Proxy, jest dostępne również dla crawlera: localhost, serwery staging za VPN, portale korporacyjne. Nie są potrzebne dodatkowe ustawienia sieciowe, zakres definiuje się przez Target scope.

Jak nie położyć produkcji aktywnym audytem?

Należy wybrać Light active zamiast Intrusive. Wyłączyć testy z ryzykiem uszkodzenia danych: SQL injection z INSERT/UPDATE/DELETE, destrukcyjny command injection, file upload. Trzy zasady: (1) Passive-only przy pierwszym przejściu, (2) Light active bez testów intrusive przy drugim, (3) Intrusive tylko na stagingu. Resource pool: 1 wątek, opóźnienie 500 ms.

Czym różni się audyt pasywny od aktywnego?

Audyt pasywny (Passive scanning) nie wysyła nowych żądań, analizuje ruch, który już przeszedł przez proxy: nagłówki, cookies, treść odpowiedzi. Audyt aktywny (Active scanning) generuje nowe żądania ze zmodyfikowanymi payloadami. Pasywny nie znajdzie SQL injection, ale wykryje brakujące nagłówki bezpieczeństwa i cookie bez HttpOnly/Secure. W praktyce stosuje się oba sekwencyjnie: pasywny podczas surfowania, aktywny celowo na interesujących endpointach.

Na ile aktualny jest Burp Suite w 2026?

Burp Suite pozostaje de facto standardem w testach penetracyjnych aplikacji webowych. W 2025 PortSwigger dodał asystenta AI do analizy podatności, w 2026, instalator łączony Professional/Community, notatki Markdown i rozszerzoną kontrolę ruchu HTTP. Konkurenci (OWASP ZAP, Caido) nacierają, ale pod względem głębokości aktywnego audytu i ekosystemu rozszerzeń Burp jest na razie poza zasięgiem.

Jaki tryb Burp Suite wybrać do swojego zadania

Crawler, audyt czy oba jednocześnie, wybór zależy od etapu testów penetracyjnych i celu.

Jeśli trzeba zbudować mapę aplikacji przed ręczną analizą, należy uruchomić Crawl z optymalizacją Deepest. Trzeba dodać dane uwierzytelniające do zamkniętych sekcji i wykluczyć adresy URL poza zakresem (strony wylogowania, resetowania hasła).

Jeśli mapa już istnieje, a celem jest znalezienie podatności, należy użyć Audit na konkretnym zestawie adresów URL. Przy pierwszym przejściu, Passive + Light active. Intrusive należy zostawić na staging.

Do kompleksowego testu „od zera", Crawl and Audit. Jedno uruchomienie, minimum ręcznych operacji.

I najważniejsza zasada: nigdy nie uruchamiaj Intrusive na cudzej produkcji bez pisemnej zgody. Nawet Light active zostawia ślady w logach serwera.