Procedure di scansione dinamica

ZAP

Strumento di scansione Web Mobile Local API Extension Serverless Istruzioni
OWASP® Zed Attack Proxy (ZAP)

Utilizza il container ZAP OAP e ZAP Docker per eseguire scansioni dinamiche automatiche (DAST) sulla tua applicazione. I file di configurazione predefiniti hanno già tutti i CWE necessari. Tutto ciò che devi fare è aggiungerlo al tuo ambiente e al comando Docker run.

Per la definizione di ciascun tipo fai clic qui Tipi di app

È possibile eseguire una scansione completa delle applicazioni web, per dispositivi mobili o interne seguendo questi passaggi:

  1. Le scansioni DAST e API verranno eseguite utilizzando l'immagine Docker ZAP. Per le applicazioni web, mobile o interne, la scansione ZAP completa deve essere eseguita in un ambiente di produzione o di gestione temporanea. 

  2. Scarica il file di configurazione zap-casa-config.conf e vai alla directory. 

  1. Genera un file di contesto su cui eseguire l'analisi. Per ulteriori dettagli, consulta le istruzioni "Autenticazione" di seguito.

  1. Esegui questo comando: 

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. L'output verrà salvato in un file XML (esempio allegato qui: zap-results-full.xml)

La scansione dell'API può essere eseguita seguendo questi passaggi:

  1. Per le scansioni delle API, utilizza il file di configurazione zap-casa-api-config.conf

  1. Passa alla directory ed esegui questo comando:

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. L'output verrà salvato in un file XML (esempio qui allegato: zap-results-api.xml )

Autenticazione

Le scansioni ZAP devono essere eseguite con autenticazione per comprendere dove sono archiviati e accessibili i dati utente. Questa operazione richiede una configurazione prima di eseguire le scansioni. L'immagine Docker ZAP consente due argomenti relativi all'autenticazione:

-n contesto_file

File di contesto che verrà caricato prima della scansione della destinazione

-U utente

Nome utente da utilizzare per le scansioni autenticate. L'utente deve essere definito nel file di contesto specificato. 

Per impostare questi parametri, è necessario creare un file di contesto. Questa operazione può essere eseguita facilmente tramite l'interfaccia utente di ZAP Desktop.

contesto zap
  1. Imposta il meccanismo di autenticazione. Attualmente ZAP supporta cinque approcci di autenticazione:

    • Autenticazione manuale

    • Autenticazione basata su moduli

    • Autenticazione HTTP/NTLM

    • Autenticazione basata su script

    • Autenticazione basata su JSON

Autenticazione Zap
  1. Definisci i parametri di autenticazione. In genere, sono inclusi l'URL di accesso e il formato del payload (nome utente e password). I parametri obbligatori sono specifici dei metodi di autenticazione utilizzati.
Configurazione dell'autenticazione zap
  1. Aggiungi un utente e una password validi. Crea più utenti se l'applicazione espone funzionalità diverse in base ai ruoli.
Configurazione degli utenti di zap

Dopo aver configurato queste impostazioni, puoi esportare il contesto come file da sottoporre alla tua scansione come riferimento.

Contesto dell'esportazione zap

Assicurati di salvare il contesto in modo che sia facile da fare riferimento, poiché dovrai includere il percorso del file come argomento per il comando di scansione. Ora potrai eseguire una scansione autenticata con l'accesso utente specificato nel contesto. Esempio:

Zap Crea utente
  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