Проверка уязвимостей сайта: короткий гайд с OWASP ZAP
За один сеанс можно проверить сайт на распространённые проблемы вроде небезопасных заголовков и отражения пользовательского ввода. Покажем безопасный порядок работы с OWASP ZAP 2.15.0 — без сканирования чужих ресурсов и риска для боевых данных.

Проверить собственный сайт на распространённые уязвимости можно за 30–60 минут с OWASP ZAP 2.15.0: сначала собрать пассивные предупреждения, затем — если сайт тестовый и у вас есть разрешение — запустить активное сканирование. Важно не перепутать эти режимы: активные проверки отправляют на сайт специальные запросы и могут менять данные, создавать нагрузку или запускать нежелательные действия.
Что подготовить до проверки
Для этого гайда подойдёт OWASP ZAP 2.15.0 и тестовая копия сайта. Установите ZAP с официального сайта проекта. Подготовьте адрес стенда, тестовую учётную запись с минимальными правами и разрешение владельца системы на сканирование. Не запускайте активное сканирование против чужих сайтов или рабочего интернет-магазина: даже обычный тест может отправить форму, создать заказ или перегрузить приложение.
Если у вас только продуктивный сайт, начните с пассивного режима и проверки конфигурации. Для активных тестов используйте копию с обезличенными данными, отключёнными письмами, платежами и интеграциями, которые могут выполнить реальные действия.
- Уточните, какие домены и пути входят в разрешённую область проверки.
- Создайте отдельную тестовую учётную запись. Не используйте пароль администратора.
- Убедитесь, что стенд не отправляет настоящие письма, платежи и уведомления.
- Запишите время начала и адрес сайта, который проверяете: так проще сопоставить предупреждения с журналами сервера.
Пассивное сканирование1 анализирует запросы и ответы, которые уже прошли через ZAP. Активное сканирование само отправляет тестовые запросы и потому требует явного разрешения и безопасного стенда.
Проверка по шагам
- Откройте ZAP и задайте цель. Запустите приложение версии 2.15.0 и выберите Quick Start. В поле URL to attack укажите адрес своего стенда, например
https://staging.example.com. Перед запуском сверьте домен посимвольно: похожее имя может вести на чужой сайт. Проверка получилась, если в поле указан именно тестовый адрес и вы можете открыть его в браузере. - Сначала соберите пассивные предупреждения. Откройте целевой сайт через встроенный браузер ZAP или настройте браузер на работу через прокси ZAP. Пройдите основные страницы и пользовательские сценарии: вход, поиск, карточку товара, форму обратной связи. Так инструмент увидит реальные запросы сайта. Проверка получилась, если в Sites отображается домен стенда, а в Alerts постепенно появляются результаты анализа трафика.
- Проверьте охват сайта. Просмотрите дерево Sites и убедитесь, что в нём есть важные страницы, а не только главная. Войдите тестовой учётной записью и повторите ключевые действия: ZAP не проверит экран, который не открывался через прокси. Проверка получилась, если в дереве есть нужные разделы и запросы авторизованного пользователя. Не добавляйте в область проверки внешние платёжные или аналитические домены.
- Разберите Alerts до любых выводов. Откройте каждое предупреждение, прочитайте риск, описание, затронутый запрос и рекомендацию. Сохраните отчёт или результаты с датой и версией ZAP. Проверка получилась, если у каждого найденного пункта есть конкретный URL и вы понимаете, какой ответ сервера вызвал предупреждение. Само наличие Alert ещё не доказывает, что уязвимость можно использовать.
- Запускайте активное сканирование только на стенде. В Quick Start выберите Automated Scan, укажите тот же тестовый адрес и нажмите Attack. Следите за нагрузкой и журналами приложения; остановите проверку, если появляются ошибки, нежелательные записи или резкий рост нагрузки. Проверка получилась, если сканирование завершилось, а результаты появились в Alerts. Если стенд использует реальные данные или внешние интеграции, этот шаг пропустите.
- Подтвердите и исправьте находки. Для каждого серьёзного предупреждения воспроизведите ситуацию вручную на тестовом стенде, затем проверьте исправление повторным запуском того же сценария. Не публикуйте отчёт с cookies, токенами, персональными данными или содержимым закрытых страниц. Проверка получилась, если вы можете связать каждую принятую задачу с конкретным запросом и повторной проверкой.
Если сканирование не получилось
- Сайт не открывается через ZAP. Проверьте, что адрес доступен с этой машины, а браузер направляет трафик через прокси ZAP. Если сайт требует защищённое соединение, следуйте инструкции проекта по настройке доверия к сертификату ZAP; не отключайте проверку сертификатов для обычного браузера.
- В Sites видна только главная страница. Сканер не знает о ссылках и сценариях, которые вы не открывали. Пройдите сайт вручную через прокси, включая нужные страницы после входа.
- После входа проверки снова идут как для гостя. Сканирование не получает доступ автоматически: настройка авторизации зависит от способа входа и версии приложения. Для короткой проверки откройте нужные страницы вручную в проксируемом браузере. Для регулярного сканирования настройте аутентификацию по официальной документации ZAP.
- Появились предупреждения, которые не подтверждаются. ZAP может сообщить о потенциальном риске, который не удаётся использовать в конкретной конфигурации. Проверьте запрос и ответ вручную, затем отметьте обоснование решения в отчёте. Не закрывайте предупреждение только потому, что сайт продолжает работать.
- Стенд начал ошибаться или создавать записи. Остановите активное сканирование, проверьте журналы и удалите тестовые данные штатным способом. В следующий раз отключите побочные действия и используйте отдельную копию сайта.
Что означают результаты — и чего они не означают
Предупреждения ZAP — не готовое заключение о безопасности. Важны контекст, доступность уязвимого адреса, уровень доступа пользователя и последствия для данных. Например, заголовок, отмеченный как отсутствующий, может требовать исправления, но оценивать его нужно вместе с конфигурацией сайта и тем, какие страницы он защищает.
Начните разбор с предупреждений высокого риска, затем проверьте средний риск и конфигурационные замечания. Сопоставляйте URL и параметры запроса с журналами приложения. Если сомневаетесь, попросите разработчика или специалиста по безопасности воспроизвести проблему на стенде — не пытайтесь подтверждать её на чужом сервисе.
Чистый отчёт сканера означает только одно: выбранный инструмент не обнаружил известных ему проблем в тех страницах и сценариях, которые вы ему показали.
Что делать дальше
Исправьте подтверждённые находки и повторите проверку на том же стенде. Сохраните версию ZAP, дату, область сканирования и список пройденных сценариев — без секретов и персональных данных. Затем добавьте пассивную проверку в регулярный процесс разработки. Активные тесты планируйте отдельно: определите допустимую нагрузку, время запуска и способ быстро остановить проверку.
Этот гайд охватывает базовую проверку веб-сайта через ZAP, но не заменяет аудит исходного кода, проверку инфраструктуры и анализ бизнес-логики. Если задача связана с обработкой платежей, медицинских или иных чувствительных данных, одного автоматического сканирования недостаточно.
1 Пассивный анализ не отправляет специальные тестовые запросы для поиска уязвимостей: он оценивает трафик, который прошёл через инструмент.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: OWASP ZAP Documentation, OWASP ZAP — Getting Started
Частые вопросы
Можно ли проверить сайт на хостинге, не создавая копию?
Нужны ли логин и пароль, чтобы проверить закрытые страницы?
Если ZAP ничего не нашёл, сайт безопасен?
Что делать с предупреждением высокого риска?
Можно ли запускать ZAP против сайта клиента?
Обязательно ли использовать именно OWASP ZAP 2.15.0?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.