Сканирование веб-приложений с Nikto и OWASP ZAP
Сканируйте веб-приложения на распространённые уязвимости с помощью активного сканера Nikto и OWASP ZAP.
«Сканирование веб-приложений с Nikto и OWASP ZAP» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Поверхность атаки веб-приложения
Веб-приложения предоставляют сложную поверхность атаки: параметры URL, поля форм, файлы cookie, заголовки, загрузку файлов и API. Автоматизированные сканеры систематически проверяют все эти элементы на наличие распространённых уязвимостей.
Основы Nikto
Nikto — это сканер веб-серверов командной строки, который проверяет опасные файлы, устаревшее программное обеспечение, небезопасные заголовки и известные CVE. Он быстрый, простой и шумный — это не скрытный инструмент.
nikto -h http://target.com
# Key options:
# -h target host
# -p port (default 80)
# -ssl for HTTPS
# -Tuning to filter check types
# -o output file, -Format formatИнтерпретация вывода Nikto
Nikto предваряет обнаружения символом +. Ищите открытые административные интерфейсы, списки каталогов, отсутствующие заголовки безопасности, устаревшие версии серверов и потенциально опасные файлы, например /phpinfo.php.
+ Server: Apache/2.4.49
+ /admin/: Admin login page found
+ /phpinfo.php: PHP info exposed
+ X-Frame-Options header missing
+ Allowed HTTP Methods: GET, POST, PUT, DELETEОбзор OWASP ZAP
OWASP ZAP (прокси Zed Attack) — полнофункциональный сканер безопасности веб-приложений с графическим интерфейсом и API. Он работает как прокси, паук и активный сканер, поэтому подходит как для ручного, так и для автоматизированного тестирования.
Настройка прокси ZAP
Настройте браузер на использование ZAP в качестве прокси (localhost:8080). ZAP перехватывает весь трафик и строит карту сайта. На этом пассивном этапе собирается информация без отправки атакующих полезных нагрузок.
# Start ZAP
zap.sh
# Or headless CLI
zap.sh -daemon -port 8080
# Set browser proxy:
# HTTP: 127.0.0.1:8080Паук ZAP
Паук обходит приложение, переходя по ссылкам и выполняя действия форм. Паук AJAX обрабатывает одностраничные приложения, активно использующие JavaScript. Оба инструмента создают полную карту сайта для последующего активного сканирования.
# CLI spider
zap-cli spider http://target.com
# AJAX spider for SPAs
# Use GUI: Tools > AJAX SpiderАктивный сканер ZAP
Активный сканер отправляет атакующие полезные нагрузки (внедрение SQL, XSS, обход путей) каждому обнаруженному входному параметру. Уровни риска: высокий, средний, низкий и информационный.
zap-cli active-scan --scanners all http://target.com
# Or via API
curl "http://localhost:8080/JSON/ascan/action/scan/?url=http://target.com"Чтение предупреждений ZAP
ZAP объединяет обнаружения в предупреждения. Каждое предупреждение содержит уровень риска, степень уверенности, затронутый URL, использованную атакующую полезную нагрузку, подтверждение из ответа и рекомендуемые меры по устранению. Высокая степень уверенности означает меньше ложных срабатываний.
ZAP в конвейерах CI/CD
ZAP предоставляет образ Docker для автоматизированного сканирования в конвейерах. Скрипт zap-baseline.py выполняет пассивное сканирование, подходящее для CI, а zap-full-scan.py — активное сканирование.
# Docker baseline scan (passive only)
docker run -t zaproxy/zap-stable \
zap-baseline.py -t http://target.com
# Full active scan
docker run -t zaproxy/zap-stable \
zap-full-scan.py -t http://target.comСравнение Nikto и ZAP
Nikto: простой, быстрый инструмент командной строки, лучше всего подходящий для быстрых проверок и поиска проблем на уровне сервера. ZAP: комплексный инструмент на основе прокси, работающий со сложными приложениями и более подходящий для поиска уязвимостей на уровне приложения и интеграции с CI.
Область проверки и авторизация
Проверяйте только системы, которыми Вы владеете или на тестирование которых у Вас есть письменное разрешение. Несанкционированное сканирование может нарушать законы (CFAA, Закон о неправомерном использовании компьютеров) и условия предоставления услуг, даже если вред не предполагался.
Быстрая проверка
Чем активный сканер ZAP отличается от пассивного сканирования?
Итоги: инструменты сканирования веб-приложений
Nikto за считанные секунды выдаёт быстрые результаты на уровне сервера. ZAP обеспечивает глубокое сканирование на уровне приложения с перехватом через прокси, обходом сайта и активными атаками. Для обоих инструментов требуется разрешение. В зрелых конвейерах автоматизируйте базовые проверки ZAP при каждом развёртывании, чтобы обнаруживать регрессии до их попадания в рабочую среду.
Часто задаваемые вопросы
Урок «Сканирование веб-приложений с Nikto и OWASP ZAP» бесплатный?
Да — полный текст урока «Сканирование веб-приложений с Nikto и OWASP ZAP» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Сканирование веб-приложений с Nikto и OWASP ZAP»?
Сканируйте веб-приложения на распространённые уязвимости с помощью активного сканера Nikto и OWASP ZAP. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Сканирование веб-приложений с Nikto и OWASP ZAP»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Оценка CVE, CWE и CVSS
- Сканирование с помощью Nessus или OpenVAS
- Сканирование веб-приложений с Nikto и OWASP ZAP
- Приоритизация и устранение проблем