ZAP
Narzędzie do skanowania | Web |
Mobile |
Local |
API |
Extension |
Serverless |
Instrukcje |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
Użyj kontenera OWASP ZAP lub Z Dockera, aby wykonać automatyczne skanowanie dynamiczne (DAST) dla swojej aplikacji. Wstępnie zdefiniowane pliki konfiguracji mają już wszystkie wymagane CWE. Wystarczy, że dodasz je do środowiska i dotkniesz polecenia Dockera. |
Definicje dla poszczególnych typów
Kliknij tutaj
Pełne skanowanie w internecie, na urządzeniu mobilnym i w aplikacjach wewnętrznych możesz wykonać, wykonując te czynności:
-
Skanowanie DAST i API będzie uruchamiane za pomocą obrazu Dockera ZAP. W przypadku aplikacji internetowych, mobilnych i wewnętrznych należy przeprowadzać pełne skanowanie ZAP w środowisku prod-1 lub przejściowej.
-
Pobierz plik konfiguracji zap-casa-config.conf i przejdź do jego katalogu.
-
Wygeneruj plik kontekstowy, aby wykonać skanowanie. Więcej informacji znajdziesz poniżej 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 znajdziesz tutaj: zap-results-full.xml).
Skanowanie interfejsu API można wykonać, wykonując te czynności:
-
Do skanowania interfejsu API użyj pliku konfiguracji zap-casa-api-config.conf.
-
Przejdź do katalogu, a następnie 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 znajdziesz tutaj:zap-results-api.xml).
Uwierzytelnianie
Skanowanie ZAP powinno być wykonywane z użyciem uwierzytelniania, aby lepiej zrozumieć, gdzie są przechowywane dane użytkowników i gdzie można uzyskać do nich dostęp. Wymaga to konfiguracji przed uruchomieniem skanowania. Obraz Dockera ZAP pozwala na dwa argumenty związane z uwierzytelnianiem:
-n kontekst_pliku |
Plik kontekstowy, który zostanie wczytany przed skanowaniem elementu docelowego |
-U |
Nazwa użytkownika używana do uwierzytelniania skanowania. Użytkownik musi być zdefiniowany w określonym pliku kontekstu. |
Aby ustawić te parametry, musisz utworzyć plik kontekstowy. Najłatwiej zrobić to w interfejsie użytkownika ZAP na komputery.
-
Ustaw mechanizm uwierzytelniania. ZAP obsługuje obecnie 5 metod uwierzytelniania:
-
Uwierzytelnianie ręczne
-
Uwierzytelnianie oparte na formularzach
-
Uwierzytelnianie HTTP/NTLM
-
Uwierzytelnianie oparte na skryptach
-
Uwierzytelnianie w formacie JSON
-
- Zdefiniuj parametry uwierzytelniania. Obejmują one zwykle URL logowania i format ładunku (nazwę 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 skanowania.
Kontekst powinien być zapisany w łatwo dostępnym miejscu, ponieważ jako argument polecenia skanowania musisz podać ścieżkę pliku. Teraz możesz uruchamiać uwierzytelnione skanowanie przy użyciu loginu określonego 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