ZAP
Narzędzie do skanowania | Web |
Mobile |
Local |
API |
Extension |
Serverless |
Instrukcje |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
Użyj OWASP ZAP i kontenera ZAP Dockera, aby przeprowadzić automatyczne skanowanie dynamiczne (DAST) w odniesieniu do swojej aplikacji. Wstępnie zdefiniowane pliki konfiguracji zawierają już wszystkie niezbędne CWE. Wystarczy, że dodasz go do środowiska i polecenia docker run. |
Aby poznać definicję każdego typu, kliknij tutaj
Pełne skanowanie aplikacji internetowych, mobilnych lub wewnętrznych można wykonać, wykonując te czynności:
-
Skanowanie DAST i API będzie wykonywane za pomocą obrazu Dockera ZAP. W przypadku aplikacji internetowych, mobilnych lub wewnętrznych pełne skanowanie ZAP należy wykonać w środowisku produkcyjnym lub środowisku przejściowym.
-
Pobierz plik konfiguracji zap-casa-config.conf i przejdź do jego katalogu.
-
Wygeneruj plik kontekstu, na podstawie którego będzie wykonywane skanowanie. Więcej informacji znajdziesz w sekcji „Uwierzytelnianie”.
-
Uruchom to polecenie:
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t https://example.com -P 8080 -c zap-casa-config.conf -x results-full.xml -n example.context -U username
-
Dane wyjściowe zostaną zapisane w pliku XML (przykład załączony poniżej: zap-results-full.xml).
Aby przeprowadzić skanowanie interfejsu API:
-
Do skanowania interfejsu API użyj pliku konfiguracyjnego zap-casa-api-config.conf.
-
Otwórz katalog i uruchom to polecenie:
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-api-scan.py -t https://example.com -f openapi-P 8080 -c zap-casa-api-config.conf -x results-full.xml
-
Dane wyjściowe zostaną zapisane w pliku XML (przykład w załączniku: zap-results-api.xml)
Uwierzytelnianie
Skanowanie ZAP powinno być wykonywane z uwierzytelnieniem, aby wiedzieć, gdzie są przechowywane dane użytkownika i gdzie są one dostępne. Wymaga to skonfigurowania przed uruchomieniem skanowania. Obraz ZAP Docker umożliwia użycie 2 argumentów związanych z uwierzytelnianiem:
-n_plik_kontekstowy |
Plik kontekstu, który zostanie załadowany przed skanowaniem celu |
-U użytkownika |
Nazwa użytkownika używana do uwierzytelnionych skanowań. Użytkownik musi być zdefiniowany w danym pliku kontekstowym. |
Aby ustawić te parametry, należy utworzyć plik kontekstu. Najłatwiej zrobić to za pomocą interfejsu ZAP na komputer.
-
Ustaw mechanizm uwierzytelniania. ZAP obsługuje obecnie 5 metod uwierzytelniania:
-
Uwierzytelnianie ręczne
-
Uwierzytelnianie za pomocą formularzy
-
Uwierzytelnianie HTTP/NTLM
-
Uwierzytelnianie na podstawie skryptu
-
Uwierzytelnianie na podstawie pliku JSON
-
- Zdefiniuj parametry uwierzytelniania. Zwykle obejmuje to adres URL logowania i format danych (nazwa użytkownika i hasło). Wymagane parametry zależą od używanych metod uwierzytelniania.
- Dodaj prawidłowego użytkownika i hasło. Utwórz wielu użytkowników, jeśli aplikacja udostępnia różne funkcje na podstawie ról.
Po skonfigurowaniu tych ustawień możesz wyeksportować kontekst jako plik, do którego skanowanie będzie się odwoływać.
Zapisz kontekst w miejscu, do którego łatwo się odwołać, ponieważ musisz dołączyć ścieżkę pliku jako argument w poleceniu skanowania. Teraz możesz uruchomić uwierzytelnione skanowanie z użyciem danych logowania użytkownika określonych w kontekście. Przykład:
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t https://example.com -P 8080 -c zap-casa-config.conf -x results-full.xml -n /Users/DemoUser/Documents/Context.context -U test@example.com