Caido vs Burp Suite - Porównanie Narzędzi do Pentestów

No items found.
February 27, 2026
12
min read

Podczas pracy testera penetracyjnego aplikacji webowych często wykorzystuje się narzędzie firmy PortSwigger - Burp Professional. Niektórzy korzystają z OWASP ZAP, ale ostatnio coraz częściej słyszy się o nowym rozwiązaniu, które ma być lepsze i szybsze niż Burp. Czy naprawdę warto zwrócić na niego uwagę? Przedstawię porównanie, które być może pomoże w tej decyzji.

Tytułowe narzędzie - Caido jest napisane w języku Rust i koncentruje się na szybkości oraz lepszemu wsparciu przy pracy, szczególnie w kontekście Bug Bounty.  Wybór Burpa w wersji Professional wiąże się z analizą pod kątem najlepszego narzędzia do testów penetracyjnych, a niekoniecznie najtańszego.

Porównanie poszczególnych funkcji i ich wpływu na pracę zacznie się od analizy działania i jakości różnych funkcji. W formie zrzutów ekranów będą prezentowane też poszczególne formy GUI.

Informacje dostarczane przez skanery

Standardowy widok Burpa jest dosyć obszerny. Pierwszym krokiem analizy będzie zakładka Dashboard:

1. To tutaj pojawiają się wszystkie skany.

2. Zakładka dotyczy poszczególnych skanów. 

Summary to podsumowanie znalezionych błędów bezpieczeństwa,

Audit Items zawiera szczegóły związane ze skanowaniem punktów końcowych oraz informacje o miejscach wstrzykiwania,

Issues obejmuje informacje o znalezionych błędach bezpieczeństwa wraz ze szczegółami,

Events Log zawiera informacje o działaniu skanera pod kątem poprawności działania,

Logger to historia całego ruchu sieciowego związanego ze skanem, 

Audit Log mieści informacje na temat znalezionych oraz potencjalnych błędów tj. zachowanie aplikacji, które Burp w późniejszej fazie określa jako niekwalifikujące się do błędu.

3. Zakładka zawiera krótkie podsumowanie na temat skanu.

4. Globalne informacje typu Event log i Issues czyli dotyczące wszystkich skanów oraz użycie pamięci (Burp standardowo ustawia limit na połowę pamięci RAM) i informacje o AI.

Caido nie ma zakładki Dashboard. Tę funkcję pełni zakładka z wyborem projektu, który w przeciwieństwie do Burpa, jest widoczny już po włączeniu programu. W przypadku Burpa, Dashboard jest ściśle związany ze skanerem podatności. To właśnie skaner będzie pierwszym etapem analizy działania tych dwóch programów i jednocześnie jedną z największych różnic w ich działaniu.

test

W przypadku Caido skaner zawiera dużo mniej przydatnych informacji oraz zakładek.

Znalezione podatności skaner wysyła do odrębnej zakładki Findings, która nie zawiera zbyt wielu szczegółów.

Poniżej znajduje się przykład konkretnego potencjalnego błędu bezpieczeństwa.

W przypadku Burpa widok wygląda następująco:

Na pierwszy rzut oka, oba skanery zapewniają taką samą szczegółowość informacji.

Jednakże Burp dostarcza dodatkowo dane w zakładkach Audit Logs, Error logs itd., których nie znajdziemy w Caido.

Opcje skanerów - Burp

Kolejnym punktem analizy będzie dostępność funkcji oraz skuteczność skanera. Tutaj Burp wypada znacznie lepiej. 

Skaner Burpa oferuje trzy tryby Crawl and Audit, Crawl oraz API-only scan

Pierwszy tryb wykorzystuje crawler do znajdowania różnych zasobów aplikacji i dodatkowo skanuje aplikację pod kątem bezpieczeństwa.

Z kolei drugi tryb pozwala na odkrywanie nowych zasobów, wykorzystując jedynie crawler. 

Trzeci tryb jest bardzo interesujący, ponieważ pozwala na skanowanie API, dostarczając jego definicje jako OpenAPI lub SOAP WSDL. 

Istnieje też możliwość skorzystania z AI w celu analizy false positive w błędach typu BAC.

Kolejną możliwością jaką daje Burp jest definicja, które URL mają nie być objęte skanem. 

Następny krok pozwala zdefiniować jakie błędy bezpieczeństwa będą skanowane, a także szczegóły związane ze skanowaniem i użyciem crawlera.

Najciekawsze funkcje zapewniają: dynamiczna i statyczna analiza JavaScript, funkcje predefiniowania miejsc wstrzykiwania oraz miejsc w których Burp nie powinien nic wstrzykiwać.

Dodatkowo, skaner zapewnia szerokie możliwości ustawienia crawlera. 

Istnieje nawet możliwość zaprogramowania skanera tak, żeby logował się na konta jak wskazano poniżej:

Reszta opcji jest związana z samą szybkością generowania ruchu a także z zachowaniem skanera w zależności od np. statusu HTTP.

Opcje skanerów - Caido

Caido domyślnie nie posiada ani skanera, ani crawlera. Można je zainstalować jako pluginy (odpowiedniki extensions Burpa) stworzone przez programistów Caido.

Standardowo Caido pozwala na zdefiniowanie tego jakie błędy bezpieczeństwa będą sprawdzane - tak samo jak działa to w Burpie.

Lista jest dużo uboższa w porównaniu do Burpa.

Caido pozwala również definiować dodatkowe opcje, których ostatecznie nie ma zbyt wielu.

To samo dotyczy crawlera.

W tym zestawieniu Caido wypada znacznie gorzej.

Podsumowanie - skuteczność skanerów

Skaner Caido jest dużo mniej zaawansowany niż Burpa i rzeczywiście w testach penetracyjnych znalazł zaledwie około 400 problemów bezpieczeństwa (większość z nich powtarza się w różnych punktach końcowych), z czego unikalnych było 12. 

W przypadku Burpa ta liczba przekracza lekko ponad 1000, a liczba unikalnych problemów wynosi 17.

Dodatkowo, Burp zgłosił bardziej interesujące błędy. Z pewnością skaner Burpa jest skuteczniejszy i zapewnia lepsze wsparcie podczas testów penetracyjnych.

Filtrowanie żądań - zakładka Target i Sitemap

Często przy szukaniu błędów bezpieczeństwa zachodzi taka potrzeba, w której musimy znaleźć konkretne żądania i odpowiedzi. Oba narzędzia w zupełnie inny sposób rozwiązują ten problem. Burp pozwala szukać po regexach a także korzystać z Bambda.  Z kolei Caido proponuje HTTPQL. Oba rozwiązania są przydatne, ale posiadają także swoje wady. Same interfejsy Target (Burp) oraz Sitemap (Caido) nie różnią się znacząco od siebie.

W przypadku Burpa, dostajemy możliwość zaawansowanego filtrowania żądań, korzystając z Bambda, czyli API, z którego możemy korzystać, używając języka Java. Poniżej znajduje się prosty skrypt, który pokazuje pliki JS zawierające ciąg "/api":

return node.requestResponse().response().header("Content-
Type").value().contentEquals("application/javascript") &&
node.requestResponse().response().bodyToString().contains("/api");

W przypadku Caido można to zrobić w następujący sposób:

resp.raw.cont:"Content-Type: application/javascript" and
resp.raw.cont:"/api"

Składnia Caido jest prostsza, ale i mniej dokładna oraz elastyczna. Jednakże w zdecydowanej większości przypadków, które spotyka się przy szukaniu błędów bezpieczeństwa, nie ma potrzeby używać narzędzia o większej dokładności. Ewentualnie można wspomóc się workflowami, chociaż jest to droga na około.

W tym przypadku nie ma jednoznacznego zwycięzcy, a wybór zależy od preferencji.

Repeater - race condition i custom actions.

W przypadku Caido zakładka jest bardzo prosta i działa dokładnie tak, jak ma działać Repeater.

Z kolei w przypadku Burpa zakładka posiada dwie dodatkowe główne funkcje - testowanie ataków typu race condition oraz custom actions. Caido posiada możliwość grupowania żądań w zakładkach, dokładnie tak jak Burp. 

Pierwszą funkcję opisuje sama nazwa, z kolei druga funkcja pozwala, korzystając po raz kolejny z Bambda, na modyfikację żądania i odpowiedzi, a nawet na wykonanie akcji po zaznaczeniu tekstu.

Dokumentacja Burpa zawiera przykład, który pozwala zmienić treść żądania, zmieniając token CSRF:

var resp = requestResponse.response().bodyToString();
if (resp.contains("csrf=")){
var csrfIndex = resp.lastIndexOf("csrf=")+5;
var csrf = resp.substring(csrfIndex, csrfIndex+16);
csrf = csrf.replace("a", "b").replace("c", "d");
logging.logToOutput(csrf);
} else{
logging.logToOutput("No CSRF token");
}

Custom actions wyglądają ciekawie, ale ich użyteczność jest zazwyczaj niska.

W tej kwestii jednak wygranym jest Burp, chociaż to niedługo może się jeszcze zmienić, ponieważ Caido zamierza wprowadzić funkcje testowania race condition:

Zrzuty ekranu prezentujące zakładkę Repeater w obu programach:

Intruder oraz Automate

Obie zakładki oferują podobne funkcje. Intruder Burpa ma jednak trochę więcej możliwości modyfikacji a także oferuje iterowanie po datach, wbudowanych słownikach i innych rozwiązaniach. W zdecydowanej większości przypadków Automate od Caido będzie wystarczający. 

Mimo wszystko Intruder ma trochę więcej do zaoferowania, więc wybór zależy od osobistych preferencji i potrzeb.

Zrzut ekranu prezentujący zakładkę Intruder i Automate:

Decoder, Comparer oraz Sequencer

Domyślnie Caido nie posiada tych zakładek. Można je pobrać w formie pluginów napisanych przez programistów Caido (nie licząc Decoder). Decoder Caido działa w formie workflow, które wywołuje się prawym przyciskiem myszy zaznaczając tekst lub żądanie.

Zakładka decoder w Burpie:

Porównanie reszty zakładek:

Oba programy mają porównywalną skuteczność.

Collaborator oraz Quick SSRF

W obu przypadkach narzędzia spełniają swoje funkcje i pozwalają na konfiguracje własnego serwera. Po raz kolejny Caido udostępnia narzędzie w formie pluginu.

Poniżej zrzuty ekranu prezentujące wyżej wymienione narzędzia:

Pod względem funkcjonalności nie ma tu wyraźnego zwycięzcy.

Organizer

Burp posiada dodatkową zakładkę Organizer, która służy głównie do zapisywania interesujących żądań. Tej funkcji brakuje w Caido, ale jej brak nie jest mocno odczuwalny.

Często podczas testów zakładka Repeater ma kilkadziesiąt, a nawet kilkaset żądań. Niektóre z nich warto filtrować jako potencjalnie interesujące i wysłać do zakładki Organizer. 

Pomocną alternatywą Organizera Burpa może być zgrupowanie żądań w Repeaterze.

Zrzut ekranu prezentujący zakładkę Organizer w Burp:

W przypadku tej opcji, wybór zależy w głównej mierze od sposobu pracy i indywidualnych preferencji.

Extensions czy Workflows i Plugins - prawdziwa przewaga Caido

Jedną z najważniejszych funkcji podczas testów penetracyjnych, a szczególnie w Bug Bounty, jest możliwość pisania własnych narzędzi do wykrywania podatności dopasowanych do konkretnej aplikacji oraz klienta. Burp zapewnia trzy rozwiązania:

Pierwsze polega na pisaniu tzw. Bchecks. Są to proste skrypty w składni stworzonej przez twórców Burpa. Bchecksy sprawdzają się w bardzo łatwych zadaniach takich jak sprawdzanie Host Header Injection, choć bywają niestabilne. Do niedawna była to jedyna możliwość automatyzacji pewnych zadań w Burpie (zanim zostały wprowadzone custom checks).  

Poniżej zrzut ekranu prezentujący przykładowy Bchecks:

Jedną z największych ich wad jest nieprzewidywalność zachowania oraz brak możliwości debugowania. W przypadku niepoprawnej kolejności zdefiniowania parametrów, które i tak są oznaczone (np. severity albo confidence), Bchecks może nie zadziałać. W menu testowania skryptów, Bchecks może zadziałać bezbłędnie, ale podczas skanowania będzie zachowywać się zupełnie inaczej - nie wykryje żądań, które w menu testowym były wykrywane.

Pisanie bardziej skomplikowanych skryptów wiąże się często z wykonywaniem pracy na około.

Niestety takie podejście jest mało efektywne i prowadzi do tworzenia się wielu bardzo małych rozszerzeń, które dodatkowo są zależne od konkretnej aplikacji i klienta. Dodatkowo dochodzi do dużo mniejszej czytelności API Burpa zarówno Bambda jak i Bchecks. 

Jeszcze do niedawna można byłoby powiedzieć, że Burp nie posiada odpowiednich narzędzi do testowania i wykrywania podatności w zależności od aplikacji, a debugowanie nie należy do najlepszych. W tym przypadku wybranie Caido jako alternatywy Burpa było często jedynym wyborem nawet jeżeli oznaczałoby to mniej skuteczny skaner i mniej opcji ogółem. Na szczęście Burp wprowadził custom checki, które są odpowiednikami workflowów w Caido. 

Custom checki rozwiązują dwa problemy wspomniane wcześniej. Nie trzeba korzystać już z języka Bchecks, który jest bardzo ograniczony i trudno debugowalny, a dodatkowo, custom checki mają dużo więcej funkcji i potrafią znacznie więcej. 

O custom checkach można myśleć jak o małych rozszerzeniach, które łatwo wydzielić na projekty. 

Poniżej przykładowy custom check wraz z interfejsem Burpa:

W przypadku Caido rozwiązania są dwa: workflowy i pluginy.

Pluginy to nic innego jak odpowiednik rozszerzeń Burpa, a workflowy są odpowiednikiem custom checks. Różnica między custom check a workflow polega na przejrzystości, intuicyjności oraz procesie debugowania. Custom checki Burpa spełniają swoje zadanie, ale dokumentacja API jest mniej czytelna, a dodatkowo często zdarza się, że API custom checków przestaje działać i wymagany jest restart Burpa. W niektórych przypadkach może się to wiązać z oczekiwaniem na uruchomienie się Burpa nawet przez kilka minut np. jeżeli mamy kilka bardzo dużych projektów.

Poniżej zrzut ekranu prezentujący interfejs, pozwalający na pisanie workflowów oraz wycinek kodu:

Kod jest znacznie czytelniejszy (Caido).

Zakładka workflow oraz wersja graficzna całego skryptu:

W przykładowym zrzucie Workflow zaczyna się od bloku Active Start, a kończy na Active End. W workflow został użyty blok Javascript, który pozwala zdefiniować swój kod wykonujący akcje.

Nic nie stoi na przeszkodzie, żeby w prosty sposób skorzystać z innych bloków, a nawet wykonać kod na komputerze:

Caido w tych kwestiach jest bardziej nowoczesny i zapewnia szybszą pracę z lepszą automatyzacją.

Rozszerzenia

Zarówno Caido, jak i Burp posiadają dużą bazę rozszerzeń. Jednakże Caido w porównaniu z Burpem przegrywa ten pojedynek. Burp jako narzędzie, które funkcjonuje już bardzo długo na rynku ma dużo więcej rozszerzeń, które są bardzo użyteczne.

Podsumowanie

Oba narzędzia są bardzo przydatne i spełniają swoje zadanie, ale w zależności od sposobu pracy jedno może przeważać nad drugim. Myślę, że kluczowe w zdecydowaniu się na jeden z tych programów będzie wypróbowanie co bardziej współgra z naszą dynamiką działania i co dostarcza nam lepszych rezultatów.

Burp jest świetnym narzędziem, które oferuje bardzo wiele możliwości i można je w większym stopniu spersonalizować do swojej pracy. Zawiera wiele dodatkowych opcji, które znacząco urozmaicają funkcjonalność aplikacji, jednak nie są niezbędne do działania.

Największą zaletą Burpa jest jego skaner podatności. W testach penetracyjnych oraz Bug Bounty pełni bardziej funkcję wykrywacza anomalii i ciekawych miejsc niż znajdowania podatności. Na korzyść Burpa przemawia także baza rozszerzeń, która jest znacznie bogatsza niż ta w Caido.

Na niekorzyść Burpa przemawia jego wydajność. Wolne ładowanie wielu dużych projektów a także custom checki, które potrzebują nowszego i bardziej stabilnego podejścia. 

Caido jest świetną alternatywą dla osób, które cenią wydajność, automatyzację i przejrzystość. Największą jego zaletą są workflowy, które pozwalają w łatwy sposób na automatyzację zadań. Co warto podkreślić, Caido jest wydajniejszy niż Burp. Projekty ładują się znacznie szybciej i nie występują problemy z wyciekami pamięci. Dokumentację łatwiej przyswoić, a sam interfejs jest intuicyjny i przyjazny dla oka.

Natomiast największą wadą Caido jest skaner, który działa znacznie gorzej niż w Burpie i jest dużo mniej zaawansowany. Dodatkowo Caido nadal nie posiada narzędzi do testów ataków typu race condition, a baza rozszerzeń nie jest jeszcze odpowiednio bogata.

Zachęcam do przetestowania obu narzędzi, ponieważ może okazać się, że danym momencie będzie można czerpać z mocnych stron danej aplikacji lub łączyć ich funkcjonalność dla lepszej wydajności pracy.

FAQ

Questions enterprise security teams ask before partnering with AFINE for security assessments.

No items found.

Miesięczny Raport Ofensywny

Dołącz do naszego newslettera! Co miesiąc ujawniamy nowe zagrożenia w oprogramowaniu biznesowym, wskazujemy kluczowe luki wymagające uwagi oraz analizujemy trendy w cyberbezpieczeństwie na podstawie naszych testów ofensywnych.

Klikając "Subskrybuj", potwierdzasz, że zgadzasz się z naszą Polityką Prywatności.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Gradient glow background for call-to-action section