
🧪 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.

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 zostanie zamknięte. Na Dashboard w Tasks pojawi się nowe zadanie, „Crawl testphp.vulnweb.com". Event log potwierdzi zdarzenie „Crawl started".

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.

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ę.

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.

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.

Tworzenie konfiguracji użytkownika
Proszę przejść do Scan configuration i kliknąć przycisk New.

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.

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.

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.

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

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.

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

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.

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

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

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.

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.

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.

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).

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

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

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.

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ść.

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.

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.

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.

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

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.

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.

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

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.

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

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.

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

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.

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

Wybrany profil zostanie przeniesiony z powrotem do okna 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.

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.

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.

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.

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

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.



