owasp zap tutorial comprehensive review owasp zap tool
Ten samouczek wyjaśnia, czym jest OWASP ZAP, jak to działa, jak zainstalować i skonfigurować serwer proxy ZAP. Obejmuje również wersję demonstracyjną uwierzytelniania ZAP i zarządzania użytkownikami:
Dlaczego warto korzystać z ZAP do testów piórkowych?
Aby stworzyć bezpieczną aplikację internetową, trzeba wiedzieć, w jaki sposób zostaną zaatakowane. Tutaj pojawia się wymóg dotyczący bezpieczeństwa aplikacji internetowych lub testów penetracyjnych.
Ze względów bezpieczeństwa firmy używają płatnych narzędzi, ale OWASP ZAP to świetna alternatywa open source, która ułatwia testerom testy penetracyjne.
Czego się nauczysz:
- Co to jest OWASP ZAP?
- Jak działa ZAP?
- Uwierzytelnianie ZAP, zarządzanie sesjami i użytkownikami
- Przykładowy raport ZAP Html
- Wniosek
Co to jest OWASP ZAP?
Testy penetracyjne pomagają znaleźć luki, zanim zrobi to atakujący. OSWAP ZAP to darmowe narzędzie typu open source, które służy do przeprowadzania testów penetracyjnych. Głównym celem Zap jest umożliwienie łatwego testowania penetracyjnego w celu znalezienia luk w aplikacjach internetowych.
Zalety ZAP:
- Zap zapewnia wiele platform, tzn. Działa na wszystkich systemach operacyjnych (Linux, Mac, Windows)
- Zap jest wielokrotnego użytku
- Potrafi generować raporty
- Idealny dla początkujących
- Darmowe narzędzie
Jak działa ZAP?
ZAP tworzy serwer proxy i sprawia, że ruch ze strony internetowej przechodzi przez serwer. Zastosowanie automatycznych skanerów w ZAP pomaga przechwycić luki w witrynie.
Zapoznaj się z tym schematem, aby lepiej zrozumieć:
Terminologie ZAP
Przed skonfigurowaniem konfiguracji ZAP, zapoznajmy się z terminologią ZAP:
# 1) Sesja : Sesja oznacza po prostu poruszanie się po witrynie w celu zidentyfikowania obszaru ataku. W tym celu można użyć dowolnej przeglądarki, takiej jak Mozilla Firefox, zmieniając jej ustawienia proxy. Albo możemy zapisać sesję zap jako .session i użyć go ponownie.
# 2) Kontekst: Oznacza aplikację internetową lub zestaw adresów URL razem. Kontekst utworzony w ZAP zaatakuje określony i zignoruje resztę, aby uniknąć zbyt dużej ilości danych.
# 3) Rodzaje ataków ZAP: Możesz wygenerować raport podatności przy użyciu różnych typów ataków ZAP, trafiając i skanując adres URL.
Aktywne skanowanie: Możemy wykonać Active scan używając Zap na wiele sposobów. Pierwsza opcja to Szybki start, który jest obecny na stronie powitalnej narzędzia ZAP. Proszę zapoznać się z poniższym zrzutem ekranu:
Szybki start 1
Powyższy zrzut ekranu przedstawia najszybszy sposób rozpoczęcia korzystania z ZAP. Wprowadź adres URL w zakładce Szybki start, naciśnij przycisk Atak, a następnie rozpocznie się postęp.
Szybki start uruchamia pająka pod określonym adresem URL, a następnie uruchamia aktywny skaner. Pająk indeksuje wszystkie strony, zaczynając od określonego adresu URL. Mówiąc dokładniej, strona Szybki start przypomina „wskaż i strzel”.
Szybki start 2
Tutaj, po ustawieniu docelowego adresu URL, rozpoczyna się atak. Możesz zobaczyć stan postępu jako adres URL do odkrywania treści. Możemy ręcznie zatrzymać atak, jeśli zajmuje to zbyt dużo czasu.
Inna opcja dla Aktywne skanowanie polega na tym, że możemy uzyskać dostęp do adresu URL w przeglądarce proxy ZAP, ponieważ Zap automatycznie go wykryje. Po kliknięciu adresu URL prawym przyciskiem myszy -> uruchomi się skanowanie aktywne. Po zakończeniu przeszukiwania rozpocznie się aktywne skanowanie.
Postęp ataku zostanie wyświetlony w zakładce Aktywne skanowanie. a zakładka Pająk pokaże adres URL listy ze scenariuszami ataków. Po zakończeniu aktywnego skanowania wyniki zostaną wyświetlone na karcie Alerty.
Sprawdź poniższy zrzut ekranu Skanowanie aktywne 1 i Skanowanie aktywne 2 dla jasnego zrozumienia.
Aktywne skanowanie 1
Skanowanie aktywne 2
# 4) Pająk: Spider identyfikuje adres URL w serwisie, sprawdza hiperłącza i dodaje go do listy.
# 5) Ajax Spider: W przypadku, gdy nasza aplikacja w dużym stopniu wykorzystuje JavaScript, przejdź do pająka AJAX, aby zbadać aplikację.Wyjaśnię Pająk Ajax szczegółowo w moim następnym samouczku.
algorytm sortowania bąbelkowego C ++
# 6) Alerty : Luki w zabezpieczeniach witryn są oznaczane jako alerty wysokiego, średniego i niskiego poziomu.
Instalacja ZAP
Teraz zrozumiemy konfigurację instalacji ZAP. Najpierw pobierz Zainstaluj Zap . Ponieważ używam systemu Windows 10, pobrałem odpowiednio instalator 64-bitowy systemu Windows.
Wymagania wstępne do instalacji Zap: Wymagana jest Java 7. Jeśli nie masz zainstalowanego oprogramowania Java w swoim systemie, pobierz go najpierw. Wtedy możemy uruchomić ZAP.
Skonfiguruj przeglądarkę ZAP
Najpierw zamknij wszystkie aktywne sesje Firefoksa.
Uruchom narzędzie Zap >> przejdź do menu Narzędzia >> wybierz opcje >> wybierz Local Proxy >> tam widzimy adres jako localhost (127.0.0.1) i port jako 8080, możemy zmienić na inny port, jeśli jest już używany, powiedz, że zmieniam na 8099. Sprawdź zrzut ekranu poniżej:
Lokalny serwer proxy w Zap 1
Teraz otwórz Mozilla Firefox >> wybierz opcje >> zakładka zaawansowana >> w tym wybierz Sieć >> Ustawienia połączenia >> wybierz opcję Ręczna konfiguracja proxy. Użyj tego samego portu, co w narzędziu Zap. Ręcznie zmieniłem na 8099 w ZAP i użyłem tego samego w przeglądarce Firefox. Sprawdź poniższy zrzut ekranu konfiguracji Firefoksa skonfigurowanego jako przeglądarka proxy.
Konfiguracja proxy Firefox 1
Spróbuj połączyć się z aplikacją za pomocą przeglądarki. Tutaj próbowałem się połączyć Facebook i mówi, że twoje połączenie nie jest bezpieczne. Musisz więc dodać wyjątek, a następnie potwierdzić wyjątek bezpieczeństwa, aby przejść do strony na Facebooku. Proszę odnieść się do zrzutów ekranu poniżej:
Dostęp do strony internetowej - przeglądarka proxy 1
Dostęp do strony internetowej - przeglądarka proxy 2
Dostęp do strony internetowej - przeglądarka proxy 3
W tym samym czasie, na karcie Witryny Zap, sprawdź utworzoną nową sesję dla strony na Facebooku. Po pomyślnym połączeniu aplikacji możesz zobaczyć więcej wierszy w zakładce historii ZAP.
Zap zwykle zapewnia dodatkowe funkcje, do których można uzyskać dostęp za pomocą menu prawego przycisku myszy, takich jak,
Kliknij prawym przyciskiem myszy >> HTML >> aktywne skanowanie, a następnie zap wykona aktywne skanowanie i wyświetli wyniki.
Jeśli nie możesz połączyć się z aplikacją za pomocą przeglądarki, sprawdź ponownie ustawienia serwera proxy. Będziesz musiał sprawdzić ustawienia przeglądarki i proxy ZAP.
Generowanie raportów w ZAP
Po zakończeniu skanowania aktywnego możemy generować raporty. W tym celu kliknij OWASP ZAP >> Raport >> wygeneruj raporty HTML >> podana ścieżka do pliku >> wyeksportowany raport skanowania. Musimy przeanalizować raporty, aby zidentyfikować wszystkie możliwe zagrożenia i je naprawić.
Uwierzytelnianie ZAP, zarządzanie sesjami i użytkownikami
Przejdźmy do kolejnej funkcji Zap, obsługującej uwierzytelnianie, zarządzanie sesjami i użytkownikami. Daj mi znać wszelkie pytania, które przyjdą Ci do głowy w związku z tym, jako komentarze.
Podstawowe koncepcje
- Kontekst : Reprezentuje aplikację internetową lub zestaw adresów URL razem. Dla danego kontekstu dodawane są nowe karty, aby dostosować i skonfigurować proces uwierzytelniania i zarządzania sesją. Opcje są dostępne w oknie dialogowym właściwości sesji. Tj. Okno dialogowe właściwości sesji -> Kontekst -> możesz użyć opcji domyślnej lub dodać nową nazwę kontekstu.
- Metoda zarządzania sesją: Istnieją 2 rodzaje metod zarządzania sesjami. Przeważnie używane jest zarządzanie sesjami oparte na plikach cookie, powiązane z kontekstem.
- Metoda Uwierzytelnienia: Istnieją głównie 3 rodzaje metod uwierzytelniania używanych przez ZAP:
- Metoda uwierzytelniania oparta na formularzach
- Ręczne uwierzytelnianie
- Uwierzytelnianie HTTP
- Zarządzanie użytkownikami: Po skonfigurowaniu schematu uwierzytelniania można zdefiniować zestaw użytkowników dla każdego kontekstu. Ci użytkownicy są wykorzystywani do różnych działań ( Na przykład, Adres URL pająka / kontekst jako użytkownik Y, wszystkie żądania wysyłaj jako użytkownik X). Wkrótce będzie dostępnych więcej akcji wykorzystujących użytkowników.
Zaimplementowano rozszerzenie „Forced-User” w celu zastąpienia starego rozszerzenia uwierzytelniania, które przeprowadzało ponowne uwierzytelnianie. Tryb „Forced-User” jest teraz dostępny na pasku narzędzi (ta sama ikona co stare rozszerzenie uwierzytelniania).
Po ustawieniu użytkownika jako „Forced-User” dla danego kontekstu lub gdy jest on włączony, każde żądanie wysłane przez ZAP jest automatycznie modyfikowane tak, aby było wysyłane do tego użytkownika. W tym trybie następuje również automatyczne ponowne uwierzytelnienie (zwłaszcza w połączeniu z uwierzytelnianiem opartym na formularzach), w przypadku braku uwierzytelnienia, wykrywane jest wylogowanie.
Zobaczmy demo:
Krok 1:
Najpierw uruchom ZAP i uzyskaj dostęp do adresu URL w przeglądarce proxy. Tutaj pobrałem przykładowy adres URL jako https://tmf-uat.iptquote.com/login.php . Kliknij Zaawansowane -> dodaj wyjątek -> potwierdź wyjątek bezpieczeństwa jak na stronach 6 i 7. Następnie pojawi się strona docelowa. W tym samym czasie ZAP automatycznie ładuje stronę internetową w ramach Witryn jako nową sesję. Zobacz poniższy obrazek.
Krok 2:
Uwzględnij to w kontekście. Można to zrobić, włączając go w domyślnym kontekście lub dodając jako nowy kontekst. Zobacz poniższy obrazek.
Krok 3:
Teraz następna jest metoda uwierzytelniania. Możesz zobaczyć Uwierzytelnianie w samym oknie dialogowym właściwości sesji. Tutaj używamy metody uwierzytelniania opartej na formularzach.
Powinien wyglądać jak authMethodParams as ' login Url = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
W naszym przykładzie musimy ustawić metodę uwierzytelniania jako opartą na formularzu. W tym celu wybierz docelowy adres URL, pole danych żądania logowania zostanie wstępnie wypełnione, a następnie zmień parametr na nazwę użytkownika i hasło -> kliknij ok .
fałszywy e-mail i hasło, które działa
Krok 4:
Teraz ustaw wskaźniki, które będą informować ZAP, kiedy zostanie uwierzytelniony.
Wskaźniki zalogowania i wylogowania:
- Potrzebny jest tylko jeden
- Możemy ustawić wzorce Regex dopasowane w komunikacie odpowiedzi, musimy ustawić wskaźnik zalogowania lub wylogowania.
- Określ, kiedy odpowiedź jest uwierzytelniona, a kiedy nie.
- Przykład wskaźnika zalogowania: Qhttp: // example / logout E lub Witamy użytkownika. *
- Przykład wskaźnika wylogowania: login.jsp lub coś w tym rodzaju.
Tutaj, w naszej aplikacji demonstracyjnej, uzyskałem dostęp do adresu URL w przeglądarce proxy. Zalogowano się do aplikacji przy użyciu ważnego poświadczenia, nazwy użytkownika jako superadministratora i hasła jako primo868. Poruszaj się po wewnętrznych stronach i kliknij wyloguj
Możesz zobaczyć na zrzucie ekranu kroku 3, Zap pobiera dane żądania logowania jako dane używane do logowania do aplikacji TMF [Logowanie do aplikacji demonstracyjnej].
Flaga zalogowana we wzorcu Regex z odpowiedzi ZAP jako odpowiedź -> odpowiedź wylogowana -> oznacz ją jako zalogowaną we wskaźniku. Odnosić się do zrzut ekranu poniżej
Krok 5:
Możemy zapisać wskaźnik i zweryfikować, czy okno dialogowe właściwości sesji zostanie dodane ze wskaźnikiem zalogowania, czy nie. Zobacz poniższy zrzut ekranu:
Krok 6:
Musimy dodać użytkowników, ważnych i nieprawidłowych użytkowników. Zastosuj ataki pająków do obu i przeanalizuj wyniki.
Prawidłowy użytkownik:
Nieprawidłowy użytkownik:
Krok 7:
Domyślnie ustaw zarządzanie sesjami jako metodę opartą na plikach cookie.
Krok 8:
Atak Spider URL jest stosowany do nieprawidłowych i ważnych użytkowników oraz przegląda wyniki / generuje raporty.
Nieprawidłowy widok ataku pająka użytkownika 1:
W tym przypadku atak adresu URL typu pająk jest stosowany do nieprawidłowego użytkownika. W interfejsie ZAP możemy zobaczyć Get: login.php (error _message), co oznacza, że uwierzytelnianie nie powiodło się. Ponadto nie przekazuje adresów URL przez wewnętrzne strony TMF.
Krok 9:
Aby zastosować atak typu spider URL dla prawidłowego użytkownika, przejdź do listy witryn -> atak -> adres pająka -> istniejący prawidłowy użytkownik -> tutaj jest on domyślnie włączony -> rozpocznij skanowanie.
Analiza wyników: ponieważ jest to ważny uwierzytelniony użytkownik, przejdzie przez wszystkie wewnętrzne strony i wyświetli stan uwierzytelnienia jako pomyślny. Zobacz poniższy zrzut ekranu.
Valid-user
Przykładowy raport ZAP Html
Po zakończeniu aktywnego skanowania możemy wygenerować dla niego raport HTML. W tym celu wybierz Report -> Generate Html Report. Załączam przykładową treść raportów HTML. Tutaj generowane będą raporty alertów wysokich, średnich i niskich.
Alerty
Wniosek
W tym samouczku widzieliśmy, czym jest ZAP, jak działa ZAP, instalację i konfigurację proxy ZAP. Różne typy aktywnych procesów skanowania, demonstracja uwierzytelniania ZAP, zarządzanie sesjami i użytkownikami oraz podstawowa terminologia. W następnym samouczku wyjaśnię o ataku pająka Ajax, używaniu fuzzerów, wymuszonych przeglądanych witrynach.
A jeśli korzystałeś z proxy ataku Zed i masz kilka interesujących wskazówek, którymi możesz się podzielić, udostępnij je w komentarzach poniżej.
Bibliografia:
rekomendowane lektury
- PractiTest Test Management Tool Samouczek praktycznej recenzji
- Przegląd narzędzia do zarządzania testami TestLodge
- Samouczek TestComplete: kompleksowy przewodnik po narzędziu do testowania GUI dla początkujących
- Narzędzie do śledzenia błędów Backlog Praktyczny samouczek przeglądu
- Samouczek Bugzilli: Praktyczny samouczek dotyczący narzędzia do zarządzania defektami
- Jak przetestować wydajność witryny internetowej za pomocą narzędzia SmartMeter.io: praktyczny samouczek przeglądowy
- Samouczek narzędzia do testowania dostępności WAVE
- Praktyczny przegląd narzędzia do zarządzania testami qTest