ЗАП
Инструмент сканирования | Web | Mobile | Local | API | Extension | Serverless | инструкции |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) | Используйте OWASP ZAP ; Контейнер ZAP Docker для автоматического динамического сканирования (DAST) вашего приложения. Предопределенные файлы конфигурации уже содержат все необходимые CWE. Все, что вам нужно сделать, это добавить его в свою среду и запустить команду Docker. |
Для определения каждого типа нажмите здесь
Полное сканирование веб-приложений, мобильных или внутренних приложений можно выполнить, выполнив следующие действия:
Сканирование DAST и API будет выполняться с использованием образа ZAP Docker . Для веб-приложений, мобильных или внутренних приложений полное сканирование ZAP следует запускать в среде prod-1 или промежуточной среде.
Загрузите файл конфигурации zap-casa-config.conf и перейдите в его каталог.
Создайте файл контекста для запуска сканирования. Для получения дополнительной информации см. инструкции « Аутентификация » ниже.
Выполните следующую команду:
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
Вывод будет сохранен в файле XML (пример прикреплен здесь: zap-results-full.xml )
Сканирование API можно выполнить, выполнив следующие шаги:
Для сканирования API используйте файл конфигурации zap-casa-api-config.conf .
Перейдите в его каталог и выполните следующую команду
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
Вывод будет сохранен в файле XML (пример прикреплен здесь: zap-results-api.xml )
Аутентификация
Сканирование ZAP должно выполняться с аутентификацией, чтобы понять, где хранятся пользовательские данные и где к ним осуществляется доступ. Это требует настройки перед запуском сканирования. Образ ZAP Docker допускает два аргумента, связанных с аутентификацией:
-n контекстный_файл | Контекстный файл, который будет загружен перед сканированием цели |
-U пользователь | Имя пользователя, используемое для аутентифицированных сканирований. Пользователь должен быть определен в данном файле контекста. |
Для установки этих параметров необходимо создать файл контекста. Это проще всего сделать через пользовательский интерфейс ZAP Desktop .
Установите механизм аутентификации. В настоящее время ZAP поддерживает пять подходов к аутентификации:
Ручная аутентификация
Аутентификация на основе форм
HTTP/NTLM-аутентификация
Аутентификация на основе сценариев
Аутентификация на основе JSON
- Определите параметры авторизации. Обычно это включает URL-адрес для входа и формат полезной нагрузки (имя пользователя и пароль). Требуемые параметры зависят от используемых методов аутентификации.
- Добавьте действительного пользователя и пароль. Создайте нескольких пользователей, если приложение предоставляет разные функции в зависимости от ролей.
После того, как вы настроили эти параметры, вы можете экспортировать контекст в виде файла, на который можно ссылаться при сканировании.
Обязательно сохраните контекст где-нибудь, на который будет легко ссылаться, так как вам нужно будет включить путь к файлу в качестве аргумента для вашей команды сканирования. Теперь вы сможете запустить сканирование с проверкой подлинности с логином пользователя, указанным в контексте. Пример:
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