ZAP-аутентификация для записанных вызовов API

Я автоматизирую сканирование безопасности, проксируя свои тесты пользовательского интерфейса через Zap. При каждом запуске сканирования безопасности создается новый сеанс zap, и запросы передаются через прокси.

В нашем приложении токен доступа из ответа API входа установлен в authenticationзаголовок для аутентификации. Когда я проксирую свои тесты через zap, заголовки также записываются и сохраняются в ZAP вместе с полезной нагрузкой запроса, URL-адресом и т. Д.

Если

  1. токен, записанный zap вместе с запросом, все еще действителен во время активного сканирования (не истек или не аннулирован)
  2. заголовки исключаются из векторов атаки ascan (это настройка по умолчанию)

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

Я не знаю, как это проверить!

Может ли кто-нибудь помочь ниже

  1. Верно ли мое вышеупомянутое предположение о том, что "записанный заголовок достаточно хорош для сканирования ZAP" в моем сценарии? (будут изменены только полезная нагрузка, параметры и т. д.)
  2. В чем преимущество настройки аутентификации, пользователей, принудительных пользователей, управления сеансами и т. Д. В контексте для автоматического сканирования безопасности?

Заранее спасибо.

1 ответ

Решение

Аутентификация - это боль. Полная боль. Существует так много разных способов аутентификации приложений, и у всех приложений есть свои особенности. Если токен остается действительным, тогда да, теоретически это должно быть нормально. Но то, как вы это проверяете, полностью зависит от вашего приложения. Что это значит, если токен недействителен? Вернет ли он 403? Вы можете использовать статистику ZAP, чтобы определить, если запросы аутентифицированы, и если ZAP в настоящее время не записывает нужную вам статистику, вы можете добавить их с помощью скриптов.

Преимущество настройки аутентификации и т. Д. Заключается в том, что при правильной настройке ZAP должен определять, является ли токен недействительным (что происходит слишком часто при атаке на приложение), и затем может повторно аутентифицироваться.

Обработка аутентификации сложна (не только в ZAP, но и во всех инструментах безопасности). За дополнительной помощью вам, вероятно, лучше обратиться в группу пользователей ZAP: https://groups.google.com/group/zaproxy-users

Также взгляните на серию видео ZAP in Ten - особенно на ADDO Workshop, где я более подробно расскажу об аутентификации: https://www.alldaydevops.com/zap-in-ten

Другие вопросы по тегам