WAPT: пентест веб-приложений — методология и атаки

Что такое WAPT и чем он отличается от обычного пентеста

WAPT (Web Application Penetration Testing) — это контролируемое тестирование безопасности веб-приложений методами реального атакующего. В отличие от сетевого или инфраструктурного пентеста, который исследует периметр и сетевые узлы, WAPT сфокусирован исключительно на прикладном уровне: логике приложения, обработке пользовательского ввода, механизмах аутентификации и авторизации, API-эндпоинтах.

Это принципиальное различие. Сеть может быть безупречно защищена — правильно сегментирована, с актуальными патчами и строгими правилами межсетевого экрана. Но если веб-приложение принимает SQL-запрос в поле «имя пользователя» и не экранирует его, атакующий получает прямой доступ к базе данных, минуя весь сетевой периметр. Именно поэтому WAPT — отдельная специализация со своим инструментарием, методологией и профессиональными стандартами.

WAPT может проводиться в трёх форматах. Black box — тестировщик не имеет никакой информации о приложении, имитируя внешнего атакующего с нуля. Grey box — частичная информация: учётные данные обычного пользователя, общая схема архитектуры. White box — полный доступ к исходному коду, документации и архитектурным схемам. Выбор формата зависит от целей тестирования: black box ближе к реальной атаке, white box — к максимально полному покрытию уязвимостей.

Почему веб-приложения — главная цель атак

По данным ежегодных отчётов Verizon DBIR, атаки на веб-приложения стабильно входят в тройку наиболее распространённых векторов компрометации организаций. Причина очевидна: веб-приложения доступны из интернета по определению. Они принимают ввод от миллионов пользователей, взаимодействуют с базами данных и внутренними сервисами, нередко работают на устаревших фреймворках и содержат уязвимости, унаследованные от многолетней разработки без security-review.

Современные приложения — это не только фронтенд с HTML-формами. Это сложные экосистемы: REST и GraphQL API, микросервисы, OAuth и JWT-аутентификация, WebSocket-соединения, серверный рендеринг и CDN-слои. Каждый из этих компонентов добавляет собственные потенциальные векторы атаки. Задача WAPT — систематически пройти по всем из них до того, как это сделает настоящий злоумышленник.

Правовая сторона: когда WAPT законен

WAPT — это всегда работа с явного письменного разрешения владельца системы. Без подписанного договора и scope of work любое тестирование, даже с благими намерениями, является нарушением законодательства. Договор должен чётко определять: какие URL и домены входят в scope, в какой период проводится тестирование, какие типы атак разрешены, а какие — нет (например, DoS-атаки обычно исключаются), и каков порядок уведомления при обнаружении критических уязвимостей.

💡 «Я просто проверял безопасность» — не является юридическим аргументом. В России несанкционированный доступ к компьютерной информации квалифицируется по ст. 272 УК РФ. Всегда работайте только в рамках подписанного соглашения с явно прописанным scope.

Методология WAPT: этапы тестирования

Хаотичный перебор атак без структуры — это не пентест, а шум. Профессиональный WAPT строится по методологии, которая обеспечивает полное покрытие поверхности атаки и воспроизводимость результатов. Основные стандарты: OWASP Testing Guide (OTG), PTES (Penetration Testing Execution Standard) и WSTG (Web Security Testing Guide). На практике большинство тестировщиков используют их как базу, адаптируя под конкретный проект.

Разведка и сбор информации

Первый этап — понять, с чем предстоит работать. Пассивная разведка не касается цели напрямую: Shodan, Censys, сертификаты SSL/TLS через crt.sh, WHOIS-данные, пассивный DNS — всё это позволяет собрать значительный объём информации без единого запроса к целевому серверу. Это важно с точки зрения скрытности, а в легальном WAPT — с точки зрения понимания внешнего периметра ещё до начала активного сканирования.

Активная разведка — прямое взаимодействие с целью. Сканирование поддоменов (subfinder, amass), обнаружение скрытых директорий и файлов (gobuster, ffuf), идентификация технологического стека (Wappalyzer, whatweb), анализ HTTP-заголовков и cookies на предмет информации об используемых фреймворках и серверах. Каждый артефакт разведки — потенциальный вектор для следующего этапа.

Анализ поверхности атаки

После разведки составляется карта приложения: все точки входа (формы, параметры URL, заголовки, cookies, загрузка файлов), механизмы аутентификации и управления сессиями, API-эндпоинты, функциональность для разных ролей пользователей. На этом этапе Burp Suite становится основным инструментом: proxy-перехват всех запросов позволяет получить полную картину взаимодействия браузера с сервером, включая скрытые параметры и нестандартные заголовки, которые не видны в интерфейсе приложения.

Эксплуатация уязвимостей

Активная фаза тестирования: проверка каждой точки входа на конкретные классы уязвимостей. Это не автоматический сканер, запущенный на весь сайт, — это ручной анализ с точечными попытками эксплуатации. Автоматические сканеры дополняют ручную работу, но не заменяют её: многие логические уязвимости и проблемы авторизации сканер просто не способен обнаружить, потому что для их поиска нужно понимать бизнес-логику приложения.

Пост-эксплуатация и составление отчёта

Подтверждённую уязвимость нужно не только найти, но и оценить её реальное воздействие. RCE на веб-сервере — есть ли доступ к внутренней сети? SQL-инъекция — какие данные доступны, есть ли возможность записи? IDOR — сколько пользовательских записей доступно через перебор ID? Демонстрация цепочки эксплуатации с реальным impact убеждает бизнес куда эффективнее, чем просто список CVE с рейтингами CVSS.

Отчёт — финальный и самый важный артефакт WAPT. Он должен содержать executive summary для нетехнической аудитории, детальное описание каждой уязвимости с PoC (proof of concept), оценку риска и конкретные рекомендации по устранению. Хороший отчёт — тот, по которому разработчик понимает, как воспроизвести проблему и как её исправить, без дополнительных уточнений.

OWASP Top 10: главные уязвимости веб-приложений

OWASP (Open Web Application Security Project) ведёт список десяти наиболее критических категорий уязвимостей веб-приложений — OWASP Top 10. Это не рейтинг конкретных CVE, а классификация системных проблем, которые встречаются в подавляющем большинстве современных приложений. Для WAPT-специалиста это обязательная отправная точка: каждый пункт списка — это целый класс атак с собственными техниками обнаружения и эксплуатации.

Актуальная редакция OWASP Top 10 (2021) включает: A01 — Broken Access Control (нарушения контроля доступа, переместившееся на первое место), A02 — Cryptographic Failures (слабая или отсутствующая криптография), A03 — Injection (SQL, Command, LDAP и другие инъекции), A04 — Insecure Design (архитектурные уязвимости на уровне проектирования), A05 — Security Misconfiguration (небезопасная конфигурация), A06 — Vulnerable and Outdated Components, A07 — Identification and Authentication Failures, A08 — Software and Data Integrity Failures, A09 — Security Logging and Monitoring Failures, A10 — Server-Side Request Forgery (SSRF).

💡 Broken Access Control на первом месте — не случайность. Ошибки авторизации встречаются в 94% протестированных приложений. Это не экзотика: обычная функциональность «просмотр своего профиля» превращается в критическую уязвимость, если приложение не проверяет, что запрашивающий пользователь — владелец запрашиваемого ресурса.

Основные типы атак в WAPT

Понимание механики каждой категории атак — то, что отличает специалиста по WAPT от человека, который просто запускает сканер. Знать название уязвимости недостаточно: нужно понимать, как именно она работает, почему возникает и как выглядит при эксплуатации в реальном приложении.

Инъекции: SQL, Command, SSTI

SQL-инъекция — классика, которая не устаревает. Если приложение формирует SQL-запрос конкатенацией строк без параметризации, атакующий может изменить структуру запроса: получить данные из чужих таблиц, обойти аутентификацию, прочитать файлы с сервера (в MySQL через LOAD_FILE), а в ряде конфигураций — записать файл на диск и получить RCE. Union-based, Boolean-based, Time-based blind — это не разные уязвимости, а техники эксплуатации одной и той же проблемы при разных условиях видимости ответа.

Command Injection — когда приложение передаёт пользовательский ввод напрямую в системную команду. Пример: поле «проверить доступность хоста» реализовано как ping [user_input] — атакующий вводит 127.0.0.1; cat /etc/passwd и получает содержимое системного файла. Встречается реже SQL-инъекций, но impact — немедленное RCE. SSTI (Server-Side Template Injection) эксплуатирует шаблонизаторы (Jinja2, Twig, Freemarker): пользовательский ввод, попадающий в шаблон без экранирования, позволяет выполнять произвольный код на сервере.

XSS, CSRF и атаки на клиентскую часть

XSS (Cross-Site Scripting) — внедрение JavaScript-кода в страницу, который выполняется в браузере другого пользователя. Reflected XSS срабатывает при открытии специально сформированной ссылки, Stored XSS — вредоносный скрипт сохраняется в базе данных приложения и загружается для всех посетителей страницы. DOM-based XSS эксплуатирует небезопасную обработку данных в клиентском JavaScript без участия сервера. Impact XSS — от кражи сессионных cookie и угона аккаунтов до полного контроля над браузером жертвы через BeEF.

CSRF (Cross-Site Request Forgery) — принуждение аутентифицированного пользователя выполнить нежелательное действие на доверенном сайте. Атакующий размещает на стороннем ресурсе форму или изображение, которое при загрузке отправляет запрос от имени вошедшего пользователя: перевод денег, смена email, удаление данных. Защита — CSRF-токены и проверка заголовка Origin/Referer. Отсутствие этой защиты в 2026 году — признак откровенно устаревшего кода.

Broken Access Control и IDOR

IDOR (Insecure Direct Object Reference) — подтип Broken Access Control, при котором приложение использует предсказуемые идентификаторы для доступа к объектам без проверки прав. Классический пример: URL вида /api/orders/12345 возвращает заказ пользователя. Если изменить число на 12346 — возвращается заказ другого пользователя. Никакой «хакерской магии» — просто отсутствие проверки «является ли текущий пользователь владельцем этого ресурса». При систематическом переборе такая уязвимость даёт доступ ко всем данным всех пользователей системы.

SSRF, XXE и атаки на серверную логику

SSRF (Server-Side Request Forgery) — принуждение сервера делать HTTP-запросы к произвольным адресам, включая внутренние сервисы, недоступные снаружи. Типичный сценарий: функция «предпросмотр URL» или «импорт данных по ссылке» не ограничивает доступные адреса, и атакующий указывает http://169.254.169.254/latest/meta-data/ — эндпоинт метаданных облачного инстанса, где хранятся ключи доступа. В облачных инфраструктурах SSRF превращается из информационной утечки в полную компрометацию облачного аккаунта.

XXE (XML External Entity) эксплуатирует небезопасную обработку XML-документов: атакующий включает в XML ссылку на внешний файл или URL, и сервер «любезно» возвращает его содержимое. Несмотря на то что XML постепенно вытесняется JSON, XXE остаётся актуальным — многие enterprise-приложения, банковские системы и API работают с XML до сих пор.

💡 Многие критические находки в WAPT — это не отдельные уязвимости, а цепочки: SSRF позволяет добраться до внутреннего Redis, Redis даёт RCE через запись в cron, cron выполняет reverse shell. Умение строить attack chain — ключевой навык продвинутого WAPT-специалиста.

Инструменты веб-пентестера

Инструментальный стек WAPT-специалиста хорошо устоялся, хотя постоянно пополняется. Ключевое разграничение: автоматические сканеры помогают быстро найти очевидные уязвимости, но большинство серьёзных находок требует ручной работы с прокси-перехватчиком и пониманием логики приложения.

Burp Suite Professional — абсолютный стандарт отрасли. Proxy для перехвата и модификации HTTP/HTTPS-трафика, Repeater для ручного тестирования запросов, Intruder для автоматизированного перебора, Scanner для автоматического поиска уязвимостей, Decoder/Comparer — вспомогательные инструменты. Без уверенного владения Burp Suite разговор о WAPT не имеет смысла. Бесплатная Community-версия подходит для обучения, Professional нужен для реальной работы.

sqlmap — автоматизированный инструмент для обнаружения и эксплуатации SQL-инъекций. Поддерживает все основные СУБД, множество техник эксплуатации, выгрузку данных из таблиц и — при наличии соответствующих прав — выполнение системных команд. ffuf / gobuster — быстрый перебор директорий, файлов и поддоменов по словарям. nuclei — фреймворк на основе шаблонов для массового сканирования на известные уязвимости; огромная библиотека сообщества охватывает тысячи CVE и паттернов неверной конфигурации. nikto — классический сканер веб-серверов для обнаружения типовых проблем конфигурации.

OWASP ZAP — open source альтернатива Burp Suite, хорошо подходит для начального обучения и интеграции в CI/CD-пайплайны — область, где он пересекается с задачами DAST-инструментов в DevSecOps. Metasploit Framework — незаменим для проверки эксплуатируемости найденных уязвимостей и построения цепочек атак в post-exploitation фазе. Для работы с API дополнительно используют Postman или curl: многие уязвимости в REST и GraphQL API обнаруживаются только при ручном анализе запросов.

💡 Kali Linux и Parrot OS — дистрибутивы с предустановленным набором инструментов для пентеста. Для WAPT также незаменима платформа PortSwigger Web Security Academy: бесплатные лаборатории покрывают все категории OWASP Top 10 с нарастающей сложностью.

Курсы по WAPT и пентесту веб-приложений

WAPT — практическая дисциплина: читать про уязвимости полезно, но навык формируется только в лабораториях и на реальных проектах. Ниже — курсы, которые дают именно практику, а не теоретический обзор.

Веб-пентест

Яндекс Практикум

Кибербезопасность: веб-пентест

Шестимесячный курс профессиональной переподготовки по поиску и эксплуатации уязвимостей в веб-приложениях. По итогам выдаётся диплом; формат совмещает видеолекции и онлайн-занятия с преподавателем.

Codeby Academy

Тестирование веб-приложений на проникновение

Специализированный курс по WAPT: от разведки и картирования поверхности атаки до эксплуатации уязвимостей OWASP Top 10 и составления пентест-отчёта. Практика ведётся в лабораторной среде на реалистичных приложениях.

Комплексные программы

Codeby Academy

Профессия пентестер

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

CyberED

Пентестер

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

Академия АйТи

Пентестер: этичный хакинг и анализ систем безопасности

Программа повышения квалификации объёмом 220 часов, подходящая в том числе для новичков. Формирует практические навыки проведения пентеста и анализа безопасности с выдачей удостоверения о повышении квалификации.

Для начинающих специалистов

БАУМАНТЕХ

Специалист по тестированию на проникновение (Junior Pentester)

Шестимесячная программа профессиональной переподготовки: сетевое сканирование, методологии PTES, OWASP и MITRE ATT&CK, пост-эксплуатация и составление отчётов. По окончании выдаётся диплом.

УЦ «Специалист» при МГТУ им. Баумана

Hacker. Penetration Testing and Security

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

Продвинутые и специализированные курсы

Otus

Пентест. Практика тестирования на проникновение

Практический курс уровня Middle объёмом 80 часов (5 месяцев), ориентированный на разработчиков и специалистов по ИБ. Охватывает анализ уязвимостей сетей, ПО и веб-ресурсов, наиболее распространённые сценарии атак.

CyberYozh

Active Directory. Пентест внутренней инфраструктуры

Углублённый 26-недельный курс по полному циклу инфраструктурного пентеста Active Directory: от разведки до пост-эксплуатации, обхода EDR и подготовки итогового отчёта. Практика ведётся в лабораториях, приближённых к боевым условиям.

Все курсы по пентесту

Сравните программы по уровню подготовки, формату и стоимости в каталоге ibcourses.ru.

Смотреть курсы по пентесту →