Procedury skanowania dynamicznego

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

Pełne skanowanie w internecie, na urządzeniu mobilnym i w aplikacjach wewnętrznych możesz wykonać, wykonując te czynności:

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

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

  1. Wygeneruj plik kontekstowy, aby wykonać skanowanie. Więcej informacji znajdziesz poniżej 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 znajdziesz tutaj: zap-results-full.xml).

Skanowanie interfejsu API można wykonać, wykonując te czynności:

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

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

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

Uwierzytelnianie Zap
  1. 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.
Zap Skonfiguruj uwierzytelnianie
  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.
Zap Skonfiguruj użytkowników

Po skonfigurowaniu tych ustawień możesz wyeksportować kontekst jako plik do skanowania.

Kontekst eksportu w Zap

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:

Zap Utwórz użytkownika
  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