Ошибка аутентификации при активном сканировании OWASP ZAP с определениями Swagger API

Я пытаюсь выполнить активное сканирование определений приложения Swagger API (OpenAPI) с использованием OWASP ZAP. По сути, мне нужно протестировать конечные точки API приложения с помощью автоматизированного инструмента (кроме ручного, конечно), поскольку для его ручного тестирования с разными полезными нагрузками и большим API потребуется много времени. Я настроил контекст ZAP перед активным сканированием, загрузил определения API из URL / файла, а затем в контексте убедился, что он выбрал правильные учетные данные пользователя. Я протестировал несколько веб-приложений и мобильных приложений, которые отлично работают с ZAP, но я заметил, что если приложение использует пользовательский тип аутентификации вместо обычного HTTP-заголовка Authorization: Bearer: <token>, ZAP не может выполнить аутентификацию, даже если контекст и настройки верны. Это приводит к тому, что ZAP просто отправляет полезные данные на страницы, требующие аутентификации, что в основном вызывает ошибку HTTP 4xx и приводит к нежелательным результатам. Пример этого заголовка - CustomizedAppTokenHeader: <token>.

Кто-нибудь знает, может ли ZAP выполнять активное сканирование приложения с настраиваемыми заголовками аутентификации для токенов аутентификации? Я думал, что это виновник плохих результатов сканирования ZAP. Для получения дополнительной информации о схемах аутентификации, https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Authentication_schemes.

Любая информация будет очень признательна, так как я много искал по этой проблеме. Мне очень нужна помощь в этом.


person warfreak92    schedule 09.09.2019    source источник


Ответы (1)


Вы можете настроить сценарий аутентификации для аутентификации, затем получить токен аутентификации и установить его в следующих запросах.

Для примеров или вдохновения я бы посоветовал проверить репозиторий скриптов сообщества: https://github.com/zaproxy/community-scripts

Вот хороший пример описания, на который вы тоже можете сослаться. (Хотя он показывает использование сценариев Python, то же самое можно сделать с помощью JavaScript): https://medium.com/faun/automating-authenticated-api-vulnerability-scanning-with-owasp-zap-eaddba0c2e94

person kingthorin    schedule 12.09.2019