Dinamik Tarama İşlemleri

ZAP

Tarama Aracı Web Mobile Local API Extension Serverless Talimatlar
OWASP® Zed Attack Proxy (ZAP)

Uygulamanıza karşı otomatik dinamik taramalar (DAST) gerçekleştirmek için OWASP ZAP ; ZAP Docker kapsayıcısını kullanın. Gerekli tüm CWE'ler, önceden tanımlanmış yapılandırma dosyalarına zaten eklenmiştir. Tek yapmanız gereken, etiketi ortamınıza eklemek ve Docker çalıştırma komutudur.

Türlerin tanımı için: Burayı tıklayın Uygulama Türleri

Web, mobil veya dahili uygulamalarda tam tarama yapmak için aşağıdaki adımları uygulayın:

  1. DAST ve API taramaları, ZAP Docker görüntüsü kullanılarak çalıştırılır. Web, mobil veya dahili uygulamalar için tam ZAP taraması, prod-1 veya prova ortamında çalıştırılmalıdır. 

  2. zap-casa-config.conf yapılandırma dosyasını indirin ve dosyanın dizinine gidin. 

  1. Taramanızın çalıştırılacağı bir bağlam dosyası oluşturun. Daha fazla bilgi için aşağıdaki "Kimlik doğrulama" talimatlarını inceleyin.

  1. Aşağıdaki komutu çalıştırın: 

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. Çıkış, bir XML dosyasına kaydedilir (örnek burada verilmiştir: zap-results-full.xml)

API taraması aşağıdaki adımlar uygulanarak gerçekleştirilebilir:

  1. API taramaları için zap-casa-api-config.conf yapılandırma dosyasını kullanın. 

  1. Dizinine gidin ve aşağıdaki komutu çalıştırın

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. Çıkış, bir XML dosyasına kaydedilir (örnek burada verilmiştir: zap-results-api.xml )

Kimlik doğrulama

ZAP taramaları, kullanıcı verilerinin nerede depolandığını ve erişildiğini anlamak için kimlik doğrulamayla yapılmalıdır. Bu işlem için taramalarınızı çalıştırmadan önce yapılandırma yapmanız gerekir. ZAP Docker görüntüsü, kimlik doğrulamayla ilgili iki bağımsız değişkene izin verir:

-n context_file

Hedef taranmadan önce yüklenecek bağlam dosyası

-U kullanıcı

Kimlik doğrulaması yapılan taramalar için kullanılacak kullanıcı adı. Kullanıcı, verilen bağlam dosyasında tanımlanmalıdır. 

Bu parametreleri ayarlamak için bir bağlam dosyası oluşturulmalıdır. Bu işlemi en kolay şekilde ZAP Masaüstü Kullanıcı Arayüzü üzerinden yapabilirsiniz.

zap bağlamı
  1. Kimlik doğrulama mekanizmasını ayarlayın. ZAP şu anda beş kimlik doğrulama yaklaşımını desteklemektedir:

    • Manuel Kimlik Doğrulama

    • Form Tabanlı Kimlik Doğrulama

    • HTTP/NTLM Kimlik Doğrulaması

    • Komut Dosyası Tabanlı Kimlik Doğrulama

    • JSON Tabanlı Kimlik Doğrulaması

zap Authentication
  1. Kimlik doğrulama parametrelerinizi tanımlayın. Bu, genellikle giriş URL'sini ve yük biçimini (kullanıcı adı ve şifre) içerir. Gerekli parametreler, kullanılan kimlik doğrulama yöntemlerine özeldir.
zap Configure Authentication
  1. Geçerli bir kullanıcı ve şifre ekleyin. Uygulama, rollere göre farklı işlevler sunuyorsa birden fazla kullanıcı oluşturun.
zap Kullanıcıları Yapılandırma

Bu ayarları yapılandırdıktan sonra, taramanızın referans olarak kullanabileceği bir dosya olarak bağlamı dışa aktarabilirsiniz.

zap Export Context

Dosya yolunu tarama komutunuzun bağımsız değişkeni olarak eklemeniz gerektiğinden bağlamı, referans olarak kolayca bulabileceğiniz bir yere kaydettiğinizden emin olun. Artık bağlamda belirtilen kullanıcı girişiyle kimliği doğrulanmış bir tarama çalıştırabilirsiniz. Örnek:

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