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

ЗАП

Инструмент сканирования 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 .

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

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

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

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

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

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

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