Процедуры динамического сканирования

ЗАП

Сканирующий инструмент Web Mobile Local API Extension Serverless Инструкции
OWASP® Zed Attack Proxy (ZAP)

Используйте OWASP ZAP ; Контейнер ZAP Docker для выполнения автоматического динамического сканирования (DAST) вашего приложения. Предопределенные файлы конфигурации уже содержат все необходимые CWE. Все, что вам нужно сделать, это добавить его в свою среду и запустить команду Docker.

Для определения каждого типа нажмите здесь Типы приложений

Полное сканирование веб-, мобильных или внутренних приложений можно выполнить, выполнив следующие действия:

  1. Сканирование DAST и API будет выполняться с использованием образа ZAP Docker . Для веб-приложений, мобильных или внутренних приложений полное сканирование ZAP следует запускать в среде prod-1 или промежуточной среде.

  2. Загрузите файл конфигурации zap-casa-config.conf и перейдите в его каталог.

  1. Создайте контекстный файл для сканирования. Дополнительные сведения см. в инструкциях « Аутентификация » ниже.

  1. Выполните следующую команду:

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. Вывод будет сохранен в файле XML (пример прикреплен здесь: zap-results-full.xml ).

Сканирование API можно выполнить, выполнив следующие действия:

  1. Для сканирования API используйте файл конфигурации zap-casa-api-config.conf .

  1. Перейдите в его каталог и выполните следующую команду

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. Вывод будет сохранен в файле XML (пример прикреплен здесь: zap-results-api.xml ).

Аутентификация

Сканирование ZAP должно выполняться с аутентификацией, чтобы понять, где хранятся пользовательские данные и к которым осуществляется доступ. Это требует настройки перед запуском сканирования. Образ ZAP Docker допускает два аргумента, связанных с аутентификацией:

-n контекстный_файл

Контекстный файл, который будет загружен перед сканированием цели.

-U пользователь

Имя пользователя, которое будет использоваться для аутентифицированного сканирования. Пользователь должен быть определен в данном файле контекста.

Чтобы установить эти параметры, необходимо создать контекстный файл. Это проще всего сделать через пользовательский интерфейс ZAP Desktop .

Зап-контекст
  1. Установите механизм аутентификации. В настоящее время ZAP поддерживает пять подходов аутентификации:

    • Ручная аутентификация

    • Аутентификация на основе форм

    • HTTP/NTLM-аутентификация

    • Аутентификация на основе сценариев

    • Аутентификация на основе JSON

Зап Аутентификация
  1. Определите параметры авторизации. Обычно это включает URL-адрес для входа и формат полезной нагрузки (имя пользователя и пароль). Обязательные параметры зависят от используемых методов аутентификации.
zap Настройка аутентификации
  1. Добавьте действующего пользователя и пароль. Создайте несколько пользователей, если приложение предоставляет разные функции в зависимости от ролей.
zap Настройка пользователей

После настройки этих параметров вы можете экспортировать контекст в виде файла для использования при сканировании.

zap Контекст экспорта

Обязательно сохраните контекст где-нибудь, чтобы его можно было легко использовать, так как вам нужно будет включить путь к файлу в качестве аргумента для команды сканирования. Теперь вы сможете запустить сканирование с аутентификацией, используя логин пользователя, указанный в контексте. Пример:

zap Создать пользователя
  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