Każdy pentester aplikacji webowych zaczyna od tego samego pytania: jakie narzędzie daje największą kontrolę nad ruchem HTTP? Odpowiedź od lat jest jedna — Burp Suite. W tym artykule przejdziemy przez konfigurację, kluczowe moduły i praktyczne techniki, które pozwolą Ci efektywnie testować bezpieczeństwo aplikacji webowych.
Czym jest Burp Suite?
Burp Suite to zintegrowana platforma do testowania bezpieczeństwa aplikacji webowych, stworzona przez PortSwigger. Działa jako proxy przechwytujące ruch między Twoją przeglądarką a testowaną aplikacją, pozwalając na inspekcję i modyfikację każdego żądania HTTP/HTTPS w czasie rzeczywistym.
Wersje
- Community Edition — darmowa, wystarczająca do nauki i podstawowych testów
- Professional (~$449/rok) — skaner automatyczny, zaawansowane moduły, API
- Enterprise — skanowanie rozproszone, integracja CI/CD, raporty dla zespołów
Do nauki i ręcznego testowania wersja Community w zupełności wystarczy.
Instalacja i konfiguracja
Pobranie
Pobierz instalator ze strony portswigger.net/burp/releases. Burp Suite wymaga Javy 17+ — instalator zawiera wbudowany JRE, więc nie musisz instalować Javy osobno.
# Linux — pobierz i uruchomwget https://portswigger-cdn.net/burp/releases/download?product=communitychmod +x burpsuite_community_linux_v2026*.sh./burpsuite_community_linux_v2026*.sh
Konfiguracja proxy w przeglądarce
Burp domyślnie nasłuchuje na 127.0.0.1:8080. Najprostsza konfiguracja:
- Proxy → Options — upewnij się, że listener
127.0.0.1:8080jest aktywny - Zainstaluj certyfikat CA Burp — odwiedź
http://burpsuitew przeglądarce skonfigurowanej na proxy Burp, pobierz certyfikat i zaimportuj go jako zaufany - Proxy w przeglądarce — ustaw
HTTP Proxy: 127.0.0.1:8080
Alternatywa: użyj FoxyProxy (rozszerzenie Firefox) do szybkiego przełączania proxy.
HTTPS — dlaczego nie działa bez certyfikatu?
Burp działa jako MITM (Man-in-the-Middle) — przechwytuje Twój ruch, deszyfruje go, pozwala modyfikować i wysyła dalej. Bez zaufanego certyfikatu CA Burp, przeglądarka odrzuci połączenia HTTPS.
Kluczowe moduły — co daje Burp Suite
1. Proxy — przechwytywanie i modyfikacja ruchu
Serce Burp Suite. Każde żądanie HTTP przechodzi przez proxy — możesz je:
- Przejrzeć w zakładce HTTP history
- Zmodyfikować (parametry, nagłówki, ciasteczka, body)
- Zablokować (Intercept — żądanie zatrzymane do Twojej decyzji)
- Wysłać do innego modułu (Repeater, Intruder, Scanner)
Praktyczny tip: Używaj Ctrl+Space do toggle Intercept ON/OFF bez klikania myszką.
2. Repeater — ręczna manipulacja żądaniami
Wysyłasz jedno żądanie, modyfikujesz je i wysyłasz ponownie — bez przechodzenia przez całą aplikację. Idealne do:
- Testowania injection (SQLi, XSS, command injection)
- Manipulacji parametrami autoryzacji (IDOR — zmiana ID użytkownika)
- Testowania rate limiting (wysyłanie tego samego żądania wielokrotnie)
- Analizy odpowiedzi na różne payloady
Workflow: kliknij prawym na żądanie w Proxy → „Send to Repeater” → modyfikuj → „Send”.
3. Intruder — zautomatyzowane ataki
Automatyzuje wysyłanie wielu zmodyfikowanych wersji jednego żądania. Cztery tryby:
- Sniper — jeden payload, jedna pozycja (testowanie jednego parametru)
- Battering Ram — ten sam payload we wszystkich pozycjach
- Pitchfork — wiele payloadów równolegle (np. użytkownik + hasło)
- Cluster Bomb — kombinacja wszystkich payloadów (brute force)
Praktyczny przykład — testowanie IDOR:
GET /api/users/§123§/profile HTTP/1.1Host: target.comCookie: session=abc123
W Intruder ustawiasz payload: liczby od 1 do 1000. Burp wyśle 1000 żądań z różnymi ID — jeśli któreś zwróci profil innego użytkownika, znalazłeś IDOR.
4. Decoder — kodowanie/dekodowanie danych
Szybkie konwersje: Base64, URL encoding, HTML entities, hex, MD5, SHA-256. Nie musisz pamiętać komend — wklej dane, wybierz format, gotowe.
5. Comparer — porównywanie odpowiedzi
Zaznaczasz dwie odpowiedzi HTTP → Burp pokazuje różnice (diff). Kluczowe przy:
- Wykrywaniu różnic w odpowiedziach SQL injection (time-based)
- Porównywaniu odpowiedzi przed/po modyfikacji parametru
- Analizie zmian w tokenach CSRF
Praktyczne scenariusze testowe
Scenariusz 1: Wykrywanie SQL Injection
- Zaloguj się do aplikacji, znajdź formularz wyszukiwania
- Przechwyć żądanie w Proxy → wyślij do Repeater
- Dodaj payload:
' OR 1=1 -- - Sprawdź odpowiedź — jeśli zwraca inne wyniki lub błąd SQL, podatność istnieje
- Eskaluj: użyj
UNION SELECTdo ekstrakcji danych
-- Test obecności SQLi' AND 1=1 -- (powinna zwrócić normalne wyniki)' AND 1=2 -- (powinna zwrócić puste wyniki)-- Ekstrakcja wersji bazy' UNION SELECT NULL, version(), NULL ---- Ekstrakcja nazw tabel' UNION SELECT NULL, table_name, NULL FROM information_schema.tables --
Scenariusz 2: Testowanie autoryzacji (IDOR)
- Zaloguj się jako użytkownik A, pobierz swój profil
- Wyślij żądanie do Intrudera
- Zmień parametr ID użytkownika na ID użytkownika B
- Jeśli odpowiedź zawiera dane użytkownika B — podatność IDOR potwierdzona
Scenariusz 3: Testowanie XSS przez Burp
- Przechwyć żądanie z parametrem, który jest wyświetlany na stronie
- Wyślij do Repeater
- Wstaw payload XSS:
<script>alert(document.domain)</script> - Sprawdź odpowiedź — czy payload jest zwracany bez escape’owania?
- Przetestuj w przeglądarce (wyłącz JavaScript na testowym środowisku!)
<!-- Proste payloady XSS do testów --><script>alert(1)</script><img src=x onerror=alert(1)>"><script>alert(document.cookie)</script>javascript:alert(1)
Przydatne rozszerzenia BApp Store
Burp Suite ma ekosystem rozszerzeń (BApp Store). Najważniejsze:
- Autorize — automatyczne testowanie autoryzacji (wykrywa IDOR i privilege escalation)
- Logger++ — zaawansowane logowanie żądań (lepsze niż wbudowane HTTP history)
- Hackvertor — konwersja payloadów (tag-based encoding/decoding)
- Param Miner — wykrywanie ukrytych parametrów HTTP
- Turbo Intruder — szybki brute force (omija rate limiting przez HTTP/2 multiplexing)
- Active Scan++ — rozszerzone skanowanie (host header injection, cache poisoning)
Instalacja rozszerzeń
Proxy → Extender → BApp Store → wybierz rozszerzenie → Install. Rozszerzenia Jython/JRuby wymagają zainstalowanego interpretera (skonfiguruj w Extender → Options).
Filtry i scope — nie tonij w szumie
Podczas testowania prawdziwej aplikacji, Burp przechwytuje tysiące żądań (analytics, CDN, favicon). Skonfiguruj Target → Scope:
# Dodaj tylko domenę celu^https?://target.com/.*# Wyklucz statyczne zasoby.*.(js|css|png|jpg|gif|woff|svg)$
Włącz „Show only in-scope items” w Proxy → HTTP history. Szum znika, widzisz tylko istotny ruch.
Tips & Tricks z praktyki
- Zapisuj sesje — Proxy → HTTP history → Save selected items. Nie stracisz danych po zamknięciu Burp.
- Używaj projektów — Burp → Restore project. Masz osobny plik projektu dla każdego testu.
- Macro do sesji — jeśli aplikacja wylogowuje po N żądaniach, skonfiguruj Macro (Project options → Sessions) do automatycznego odświeżania sesji.
- Match & Replace — automatyczne modyfikowanie nagłówków (np. dodawanie
X-Forwarded-For: 127.0.0.1do każdego żądania). - Collaborator (Professional) — do wykrywania podatności out-of-band (SSRF, blind XXE). Burp generuje unikalny URL, który aplikacja wywoła — potwierdzasz interakcję.
Podsumowanie
Burp Suite to nieocenione narzędzie w arsenale pentestera. Klucz do efektywnego testowania:
- Proxy + Intercept — kontroluj każdy ruch
- Repeater — szybka manipulacja żądaniami
- Intruder — automatyzacja testów
- Scope — eliminacja szumu
- Rozszerzenia — automatyzacja powtarzalnych zadań
Wersja Community wystarczy do nauki i ręcznego testowania. Profesjonalne testy penetracyjne wymagają wersji Professional (automatyczny skaner + Collaborator).
Następny krok: postaw testową aplikację (DVWA, WebGoat, Juice Shop) i przećwicz techniki z tego artykułu na legalnym środowisku.
Bezpieczne testowanie = testowanie na systemach, do których masz autoryzację. Nigdy nie testuj aplikacji bez pisemnej zgody właściciela.
SafeKlik.pl może zawierać linki afiliacyjne. Jeśli klikniesz w link i dokonasz zakupu, możemy otrzymać prowizję — bez dodatkowego kosztu dla Ciebie. Więcej informacji w Polityce prywatności.