Рубрики
Uncategorized

Автоматизированное тестирование ручки с прокси -сервером атаки ZED

В этом посте вы узнаете, как выполнять тесты на проникновение с помощью OWASP Zed Attack Proxy (ZAP). Zap … Tagged с тестированием, безопасностью, DevOps, учебным пособием.

Zed Attack Proxy (3 серии деталей)

В этом посте вы узнаете, как выполнять тесты на проникновение с помощью OWASP Zed Attack Proxy (ZAP). ZAP — это бесплатный сканер веб -приложений, который можно использовать для целей тестирования безопасности.

1. Вступление

Когда вы разрабатываете приложение, безопасность должна быть решена. Его нельзя больше игнорировать в настоящее время. Безопасность должна учитываться, начиная с начальной разработки и не думать об этом, когда вы хотите в первый раз развернуть производство. Часто вы заметите, что добавление безопасности в ваше заявление на более позднем этапе разработки займет много времени. Лучше учитывать безопасность с самого начала, это спасет вас от некоторых болезненных головных болей. У вас, вероятно, есть некоторые эксперты по безопасности внутри вашей компании, поэтому позвольте им участвовать с самого начала, когда необходимо разработать новое приложение. Тем не менее, вам также нужно будет проверить, безопасно ли ваше разработанное приложение. Тесты на проникновение могут помочь вам в этом. Owasp Zed Attack Proxy (ZAP) — это инструмент, который может помочь вам пройти тесты на проникновение для вашего приложения. В этом посте вы узнаете, как настроить ZAP и выполнить тесты с настольным клиентом Zap. Вам также понадобится предпочтительно уязвимое приложение. Для этих целей Веб -век OWASP будет использоваться. Если вы не знаете, что такое веб -вещества, вы можете прочитать Предыдущий пост первый. Это может быть немного устаревшим, потому что с тех пор веб -вещества улучшились, но это даст вам хорошее впечатление о том, что такое веб -вещество. Рекомендуется отключиться от Интернета при использовании веб -плата, потому что он может подвергнуть вашу машину атакам.

2. Начните приложение

Первое, что нужно сделать, это запустить веб -вещества. Самый простой способ — запустить его как контейнер Docker. Изображение Docker содержит приложения Webgoat и Webwolf, но вы будете использовать только веб -гот в этом посте. Вы даете контейнеру имя Goatandwolf (Это облегчит запуск и остановку контейнера), и вы запускаете его в отдельном режиме.

$ docker run --name goatandwolf -p 8080:8080 -p 9090:9090 -d webgoat/goatandwolf

После того, как контейнер начался, убедитесь, что вы можете получить доступ к веб -плате через браузер по адресу url http://localhost: 8080/webgoat/ . Страница входа должна быть показана.

Вот и все сейчас, теперь вы готовы начать с Zap.

3. Zed Attack Proxy

3.1 Установка

Инструкции по установке для ZAP зависит от вашей ОС. Для Linux вы загружаете файл Zap_2_10_0_unix.sh и выполнить это.

$ ./ZAP_2_10_0_unix.sh

Запустите ZAP, оставьте настройку настойчивости по умолчанию и нажмите Старт Анкет

3.2 Быстрое начало сканирования

Самый быстрый способ начать сканирование — использовать Быстрый старт Меню и запустите автоматическое сканирование. Нажмите на Автоматическое сканирование кнопка в этом меню.

Заполните URL, который вы хотите атаковать, включить Используйте Ajax Spider и нажмите на Атака кнопка. Не думайте слишком много обо всех вариантах в данный момент, они станут более ясными позже в этом посте.

Некоторые интересные вещи могут быть отмечены после запуска сканирования. Давайте посмотрим на Сайты раздел и разверните его, чтобы вы могли видеть, какой URL -адрес участвовал в сканировании.

Пауки пытаются исследовать ваш сайт и найти некоторые полезные вещи, но в этом случае почти весь ваш веб -сайт находится после страницы входа в систему. Сканирование было выполнено без входа в систему, поэтому большая часть вашего сайта не отсканирована. Сканирование действительно нашло некоторые оповещения, но не так много, как ожидалось.

Автоматизированное сканирование — хороший способ получить быстрые результаты, но не более того. Это определенно не может рассматриваться как хорошее сканирование вашего приложения,

3.3 Исследуйте ваше заявление

В тот или ином пути вам нужно сообщить Zap, как выглядит ваше приложение. Таким образом, вам нужно вручную изучить свой веб -сайт и нажать на все ссылки, кнопки, заполнить все доступные формы, даже перейти к, возможно, скрытую URL и т. Д. Вы должны сделать это для каждой роли, которую ваша приложение имеет, в случае с веб -веществом вы будете исследовать сайт только для обычного пользователя в этом посте. Давайте начнем это делать!

Перейти к Быстрый старт Меню снова, на этот раз выберите Ручное исследование Анкет Заполните URL -адрес, если еще не сделано, и нажмите Запуск браузер кнопка.

Окно браузера открывается и отображается страница входа в систему, как мы видели раньше, когда мы получали доступ к веб -гот. Разница в том, что ZAP сейчас находится между браузером и приложением, что позволяет ZAP перехватывать весь трафик и следить за тем, что мы делаем на веб -сайте.

Давайте продолжим создавать пользователя. Нажмите на Зарегистрируйте новый пользователь Ссылка и создайте пользователя. В приведенном ниже примере пользователь MyDeveloperPlanet с паролем пароль (Пароль должен быть от 6 до 10 символов) создается. Согласитесь с положениями и условиями и нажмите на Зарегистрируйтесь кнопка.

Сейчас пришло время для самой утомительной работы, вы должны как можно более хорошо изучить веб -сайт. Когда вы это сделаете, вы заметите, что Сайты Раздел будет продолжать расти с новыми URL.

Закройте браузер и сохраните этот сеанс через Файл — настойчивый сеанс…

3.4 Создайте контекст

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

Свойства сессии Открывается окно, где можно изменить настройки, касающиеся сеанса. Например, вы можете изменить имя сеанса на более удобное, чем Без названия сеанс Анкет Вы называете это, например, Webgoat mydeveloperPlanet Анкет

Что еще более важно, это Контексты раздел. Измените имя Контекст по умолчанию Например, Веб -век Анкет

Добавьте веб -сайт Webgoat и базовый URL -адрес с помощью регулярного выражения к Включите в контекст раздел.

В Аутентификация Раздел, выберите Аутентификация на основе форм (Это будет зависеть от вашего приложения) и заполните URL -адрес для страницы входа в систему.

И, наконец, добавьте созданный пользователь в Пользователи раздел. Заполните имя пользователя и пароль, как это было создано ранее. Это позволит ZAP войти в приложение.

Не забудьте щелкнуть ОК кнопка, чтобы сохранить изменения.

3,5 режима ZAP

Zap может действовать в четырех разных режимах:

  • Безопасно : Потенциально опасные операции не допускаются;
  • Защищен : выполнять только потенциально опасные операции на URL -адресах, которые находятся в объеме;
  • Стандарт : ты можешь делать что угодно;
  • Атака : Новые узлы, которые находятся в объеме, активно сканируются, как только они обнаружены.

Вы должны знать о том, что вы можете запустить ZAP только против веб -сайта, который у вас есть. Поэтому рекомендуется использовать защищенный режим, чтобы убедиться, что вы нападаете только на свои собственные сайты.

3.6 Начать паук

Несмотря на то, что вы сделали все возможное, нажав на каждую ссылку, кнопку, вы можете подумать, паук может помочь вам раскрыть то, что вы, возможно, пропустили. Вы можете запустить традиционный паук и/или паук Ajax. Последний также будет ползти динамически построенными ссылками. Помните, что вы также включили этих пауков во время QuickScan.

В Сайты Раздел, щелкните правой кнопкой мыши URL и выберите Атака — паук… Анкет Выберите пользователя MyDeveloperPlanet и нажмите на Начать сканирование кнопка.

Паук заканчивается быстро, и в результатах вы заметите, что определенное количество узлов было добавлено (37 на скриншоте).

Сделайте то же самое с Ajax Spider. Щелкните правой кнопкой мыши URL и выберите Атака — Ajax Spider… , заполните необходимые элементы и нажмите на Начать сканирование кнопка.

Опять же, некоторые новые URL -адреса были добавлены.

3.7 Активное сканирование

В этот момент вы проделали всю подготовку, и теперь пришло время для реальных действий. Щелкните правой кнопкой мыши URL-адрес Webgoat, выберите Атака — активное сканирование… , заполните необходимые элементы и нажмите на Начать сканирование кнопка.

Zap сделает свою работу сейчас, так что будьте терпеливы, это может занять некоторое время (для завершения сканирования потребуется около 15 минут). В конце результаты можно просматривать в Оповещения раздел.

Нажатие предупреждения покажет больше информации об уязвимости и о том, как ее решить.

3.8 Результаты экспорта

Несколько экспортных функций доступны в Отчеты Меню для создания отчетов. Например, вы можете генерировать отчет HTML с Генерировать отчет HTML… Анкет

4. Следующие шаги

Активное сканирование даст вам первое указание на уязвимости. Остерегайтесь, однако, что активное сканирование может найти только определенные типы уязвимостей. В дополнение к активному сканированию, всегда следует выполнять тесты ручного проникновения. OWASP TOP 10 Веб -сайт дает вам хорошую информацию о том, можно ли найти уязвимость с помощью автоматического сканирования или нет.

В дополнение к активному сканированию, вы также можете использовать Сайт принудительного просмотра который попытается найти неразрывные ссылки и Fuzz который отправит случайные данные на ваш сайт.

Не забудьте остановить контейнер Docker Webgoat, когда вы закончите тестирование.

$ docker stop goatandwolf

5. Вывод

В этом блоге вы узнали, как использовать Zed Attack Proxy. Рекомендуется экспериментировать с ним, попытаться решить проблемы, проверить, какая другая информация доступна в инструменте, чтобы быть более знакомым с ним. Например, также можно перехватить запрос и изменить элементы в запросе.

Zed Attack Proxy (3 серии деталей)

Оригинал: «https://dev.to/mydeveloperplanet/automated-pen-testing-with-zed-attack-proxy-2l94»