Procedury skanowania dynamicznego

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 Typy aplikacji

Pełne skanowanie aplikacji internetowych, mobilnych lub wewnętrznych można wykonać, wykonując te czynności:

  1. 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. 

  2. Pobierz plik konfiguracji zap-casa-config.conf i przejdź do jego katalogu. 

  1. Wygeneruj plik kontekstu, na podstawie którego będzie wykonywane skanowanie. Więcej informacji znajdziesz w sekcji „Uwierzytelnianie”.

  1. 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
  1. Dane wyjściowe zostaną zapisane w pliku XML (przykład załączony poniżej: zap-results-full.xml).

Aby przeprowadzić skanowanie interfejsu API:

  1. Do skanowania interfejsu API użyj pliku konfiguracyjnego zap-casa-api-config.conf

  1. 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
  1. 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.

kontekst zap
  1. 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

Zap Authentication
  1. 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.
zap Configure Authentication
  1. 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.
Skonfiguruj użytkowników zap

Po skonfigurowaniu tych ustawień możesz wyeksportować kontekst jako plik, do którego skanowanie będzie się odwoływać.

Kontekst eksportu zap

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:

zap Create User
  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