ЗАП
Сканирующий инструмент | 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