Главная / Блог / Разведка веб-приложения перед атакой: чеклист по сбору информации с помощью Nmap, Gobuster и Wappalyzer

16 мин.00

Разведка веб-приложения перед атакой: чеклист по сбору информации с помощью Nmap, Gobuster и Wappalyzer

Разведка веб-приложения перед атакой: чеклист по сбору информации с помощью Nmap, Gobuster и Wappalyzer

Разведка веб-приложения перед атакой: чеклист по сбору информации с помощью Nmap, Gobuster и Wappalyzer

На прошлом CTF наша команда убила четыре часа на веб-таск, который решался за двадцать минут. Четыре часа. На порту 8443 висел дев-сервер с дефолтными кредами и открытым debug-эндпоинтом — а мы ковыряли hardened production на 443, как упоротые. Флаг лежал рядом, на порту, который никто не догадался просканировать. Вот вам и вся «сложность» задания. Качество разведки веб-приложения перед атакой определяет, потратите вы на таск двадцать минут или четыре часа впустую. Без вариантов.

Пассивная и активная разведка: место в kill chain

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

Пассивная разведка — сбор информации без прямого взаимодействия с целью. DNS-записи, WHOIS, Google Dorks, Certificate Transparency Logs, кэш поисковиков, веб-архивы. По MITRE ATT&CK это Search Victim-Owned Websites (T1594) и Search Open Technical Databases (T1596). Пассивная фаза не оставляет следов в логах цели — IDS/IPS не сработает, потому что вы вообще не отправляете запросы к серверу.

Активная разведка — прямое взаимодействие: сканирование портов, перебор директорий, fingerprinting сервисов. По MITRE ATT&CK — Active Scanning (T1595) и подтехники: Scanning IP Blocks (T1595.001), Vulnerability Scanning (T1595.002), Wordlist Scanning (T1595.003). Активная разведка оставляет следы: access-логи, WAF, SIEM. На CTF это некритично, на реальном пентесте — имеет значение.

Зачем это злоумышленнику (или пентестеру): задача — собрать карту атакуемой поверхности до эксплуатации. Без неё вы стреляете вслепую. Пропущенный поддомен, забытая тестовая страница, устаревший компонент с известным CVE — любой из этих элементов может оказаться единственной точкой входа. По OWASP, Security Misconfiguration (A05:2021) и Vulnerable and Outdated Components (A06:2021) входят в десятку критичных рисков — и оба обнаруживаются именно на этапе разведки.

Разбираем три инструмента, которые покрывают ядро активной разведки: Nmap (порты и сервисы), Gobuster (директории и поддомены), Wappalyzer (стек технологий). Каждый — с конкретными командами, интерпретацией вывода и разбором ограничений.

Требования к окружению

Перед тем как запускать что-либо — убедитесь, что окружение готово.

Минимальные требования: - ОС: Kali Linux 2024.x+ или Parrot OS (Nmap, Gobuster предустановлены). На Ubuntu/Debian — ставить через apt - RAM: 4 ГБ минимум, 8 ГБ рекомендуется (Gobuster с большим словарём на 4 ГБ ощутимо подтормаживает) - Сеть: стабильное подключение к целевой сети (VPN для HTB/THM, локалка для лабораторного стенда) - Дисковое пространство: ~500 МБ для wordlist-файлов SecLists

Установка инструментов (если не предустановлены): - Nmap: sudo apt install nmap — версия из репозитория (проверьте nmap --version; для актуальной — сборка с nmap.org) - Gobuster: sudo apt install gobuster или бинарь с GitHub (версия 3.6+) - Wappalyzer: браузерное расширение для Chrome/Firefox (публичный CLI через npm больше не поддерживается — проект ушёл в коммерческий SaaS). Для CLI берите WhatWeb или httpx - Словари: sudo apt install seclists — обязательная зависимость для Gobuster

Легальность: все описанные техники применяются только на собственных стендах, CTF-площадках (HackTheBox, TryHackMe) или в рамках согласованного пентеста с письменным разрешением. Сканирование чужих ресурсов без авторизации — уголовное преступление.

Nmap для веб-разведки — сканирование портов и fingerprinting сервисов

Nmap — отправная точка любой разведки веб-приложения. Задача: определить открытые порты, идентифицировать сервисы и их версии, получить первичный fingerprint ОС. По MITRE ATT&CK это Scanning IP Blocks (T1595.001) — базовый элемент энумерации. Первое, что запускаешь на новом таске. Даже до того, как открыл браузер.

Базовое сканирование и интерпретация вывода

[Применимо: внешний и внутренний пентест, любая инфраструктура]

Работает если: цель доступна по сети, между вами нет stateful firewall, блокирующего SYN-пакеты. Не работает если: цель за CDN (Cloudflare, Akamai) — увидите IP CDN-провайдера, не origin-сервера; порты фильтруются IPS с rate-limiting.

Стартовая команда для веб-таска: nmap -sC -sV -p- -T4 <target_ip>. Разберём флаги: -sC запускает дефолтные NSE-скрипты (категория default), -sV определяет версии сервисов, -p- сканирует все 65535 портов (критично — без этого флага Nmap проверяет только топ-1000), -T4 задаёт агрессивный тайминг (для CTF нормально, на реальном пентесте берите -T3 или -T2).

$ nmap -sC -sV -p- -T4 10.10.10.245

PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.2
80/tcp   open  http     Apache httpd 2.4.41
|_http-title: Site doesn't have a title
|_http-server-header: Apache/2.4.41 (Ubuntu)
443/tcp  open  ssl/http Apache httpd 2.4.41
| ssl-cert: Subject: commonName=target.htb
8080/tcp open  http     Werkzeug httpd 2.0.1 (Python 3.8.10)
|_http-title: Flask Debug

Что видим и как читать каждую строку:

Порт 22 (SSH): OpenSSH 8.2p1 на Ubuntu — версия определяет возможные CVE. Конкретно эта версия без критичных RCE, но информация об ОС (Ubuntu) уже полезна для дальнейших этапов.

Порт 80 и 443 (HTTP/HTTPS): Apache 2.4.41 — фиксируем версию. По OWASP A06:2021 (Vulnerable and Outdated Components) может содержать известные уязвимости. Заголовок http-server-header подтверждает версию.

Порт 8080: а вот это — золото. Werkzeug 2.0.1 с Flask Debug. Werkzeug debugger при debug=True без ограничения доступа может дать RCE — PIN-защита консоли иногда предсказуема или вообще отсутствует. На CTF это почти всегда путь к флагу. Без -p- этот порт остался бы невидимым. Именно так мы потеряли четыре часа на том соревновании.

SSL-сертификат на 443: commonName=target.htb — доменное имя. Добавьте его в /etc/hosts (echo "10.10.10.245 target.htb" | sudo tee -a /etc/hosts), иначе виртуальные хосты не отработают.

Для быстрого первичного скана (когда время на CTF поджимает) — двухэтапный подход: сначала nmap -p- --min-rate 5000 <ip> для обнаружения открытых портов, затем nmap -sC -sV -p 22,80,443,8080 <ip> для детальной энумерации только по найденным. Экономит минуты, а на CTF минуты решают.

NSE-скрипты для footprinting веб-приложения

[Применимо: внешний и внутренний пентест, legacy и modern инфраструктура]

NSE (Nmap Scripting Engine) — серьёзное расширение для веб-разведки. По MITRE ATT&CK это уже Vulnerability Scanning (T1595.002): скрипты не просто сканируют порты, а выполняют активную энумерацию.

Ключевые NSE-скрипты для веб-разведки (запускаются через --script):

  • http-enum — перебор стандартных директорий и файлов (robots.txt, .git, admin-панели). Команда: nmap --script http-enum -p 80 <ip>. Встроенный словарь менее полный, чем SecLists, но для первого прохода — за глаза.
  • http-headers — вывод HTTP-заголовков ответа. Часто раскрывает серверное ПО, X-Powered-By (версия PHP, ASP.NET), нестандартные заголовки.
  • http-methods — проверяет разрешённые HTTP-методы (PUT, DELETE, TRACE). Метод PUT на загрузку файлов = потенциальный RCE.
  • ssl-enum-ciphers — перечисляет поддерживаемые SSL/TLS шифры. Слабые шифры — находка для отчёта, но редко дают прямую эксплуатацию на CTF.
  • http-title — заголовок HTML-страницы. Мелочь, но на CTF часто содержит подсказку.
  • vulners — проверяет найденные версии сервисов по базе Vulners. Команда: nmap -sV --script vulners -p 80,443 <ip>.

Комбинированный запуск: nmap --script "http-enum,http-headers,http-methods" -p 80,443,8080 <ip>.

Когда Nmap НЕ работает

  • CDN/Reverse Proxy (Cloudflare, Akamai): Nmap видит IP CDN-узла, не origin-сервер. Версии сервисов маскируются. Решение: определить origin через DNS-историю (SecurityTrails), утечки в SPF-записях, или через поддомены без CDN.
  • Rate-limiting и IPS: агрессивное сканирование (-T4, -T5) блокируется. На CTF — редкость, на реальном пентесте — норма. Решение: снижайте скорость (-T2, --max-rate 100).
  • Stateful firewall с drop-политикой: порты отображаются как filtered, без информации о сервисе. Nmap не может отличить закрытый порт от отфильтрованного, если firewall молча дропает пакеты.
  • IPv6-only сервисы: дефолтный Nmap сканирует только IPv4. Для IPv6 нужен флаг -6.

Gobuster — поиск скрытых директорий и файлов

После Nmap вы знаете, какие порты открыты и какие веб-серверы работают. Следующий шаг — поиск скрытых директорий и файлов, которые не отображаются в навигации сайта. По MITRE ATT&CK это Wordlist Scanning (T1595.003).

Brute-force директорий с правильным словарём

[Применимо: внешний и внутренний пентест, любая инфраструктура с HTTP/HTTPS]

Работает если: веб-сервер отвечает разными HTTP-кодами для существующих и несуществующих путей (200 vs 404). Не работает если: сервер возвращает 200 на все запросы (custom 404-страница с кодом 200); WAF блокирует по rate или паттерну User-Agent.

Gobuster сканирование директорий — ключевой этап энумерации веб-приложений. Базовая команда: gobuster dir -u http://target.htb -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -t 50.

Разбор флагов: dir — режим перебора директорий, -u — URL цели, -w — путь к словарю, -t 50 — количество потоков (50 — агрессивно для CTF, на пентесте снижайте до 10-20).

$ gobuster dir -u http://target.htb -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -t 50 -x php,txt,bak

/admin                (Status: 301) [Size: 312]
/uploads              (Status: 301) [Size: 314]
/config.php.bak       (Status: 200) [Size: 1247]
/api                  (Status: 301) [Size: 310]
/.git                 (Status: 301) [Size: 311]
/robots.txt           (Status: 200) [Size: 87]
/server-status        (Status: 403) [Size: 277]

Интерпретация результатов:

  • /admin (301 redirect) — административная панель. Переходим, смотрим форму входа, пробуем дефолтные креды.
  • /config.php.bak (200) — бэкап конфигурационного файла. Почти наверняка содержит credentials к БД. На CTF это часто флаг или путь к нему. Флаг -x php,txt,bak тут критичен — без указания расширений Gobuster ищет только директории, и этот файл остался бы невидимым.
  • /.git (301) — открытый Git-репозиторий. Качайте через git-dumper (pip install git-dumper), потом git log для просмотра истории коммитов с возможными секретами. Я на HackTheBox так находил захардкоженные пароли в удалённых коммитах — разработчики думают, что git rm стирает историю. Нет.
  • /api (301) — API-эндпоинт. Дальше — энумерация методов через Burp Suite или ffuf.

Выбор словаря — момент, на котором многие спотыкаются. SecLists содержит десятки словарей разного размера. Рабочая стратегия:

  1. Быстрый проход: raft-small-directories.txt (~20k записей, ~30 секунд)
  2. Средний проход: raft-medium-directories.txt (~30k записей, ~1-2 минуты)
  3. Глубокий проход: directory-list-2.3-big.txt (~220k записей, ~10 минут)

На CTF обычно хватает raft-medium. Для bug bounty — берите big или создавайте кастомный словарь под конкретную CMS.

Дополнительные полезные флаги: -b 404,403 исключает определённые коды из вывода, --no-error подавляет ошибки соединения, -k игнорирует ошибки SSL-сертификата (самоподписанные сертификаты на CTF — норма).

Энумерация поддоменов через Gobuster

[Применимо: внешний пентест, CTF с настроенным DNS]

По MITRE ATT&CK перебор поддоменов — DNS (T1590.002). Gobuster поддерживает режим dns: gobuster dns -d target.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -t 50.

Альтернативный подход для CTF, где DNS не настроен: режим vhost для перебора виртуальных хостов: gobuster vhost -u http://target.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --append-domain. Этот режим отправляет HTTP-запросы с разными значениями заголовка Host и сравнивает ответы. Найденные vhost-ы добавляйте в /etc/hosts.

Смежный инструмент — ffuf. Он быстрее Gobuster на больших словарях и гибче в фильтрации. Команда: ffuf -u http://FUZZ.target.htb -w subdomains.txt -fs 0 (флаг -fs 0 фильтрует пустые ответы). Для пассивного перебора поддоменов полезны subfinder и amass — они работают через API различных источников (Certificate Transparency, DNS-агрегаторы), не взаимодействуя с целью напрямую.

Когда Gobuster НЕ работает

  • WAF с rate-limiting (ModSecurity, Cloudflare): блокирует по количеству запросов в секунду. Решение: снижайте потоки (-t 5), добавляйте задержку, меняйте User-Agent через --useragent.
  • Custom 404 с кодом 200: сервер возвращает 200 на все запросы (React/Angular SPA с client-side routing). Gobuster не различит существующие и несуществующие пути. Решение: фильтруйте по размеру ответа (--fs), по количеству слов (--fw) или по строке (--exclude-length). В ffuf фильтрация гибче — и на SPA-приложениях я обычно сразу переключаюсь на него.
  • Неправильный словарь: если цель — Java-приложение на Tomcat, а вы используете словарь для PHP — ничего не найдёте. Адаптируйте словарь под выявленный стек (отсюда важность предварительного определения стека через Wappalyzer).
  • HTTPS с невалидным сертификатом: Gobuster выбросит ошибку без флага -k.

Wappalyzer — определение стека технологий сайта

Определение технологий сайта — то, что связывает результаты сканирования портов с выбором вектора атаки. По MITRE ATT&CK это Software (T1592.002): сбор информации о программном обеспечении цели.

Что именно показывает Wappalyzer и как это использовать

[Применимо: внешний и внутренний пентест, любой веб-стек]

Работает если: целевой сайт загружается в браузере и содержит характерные маркеры технологий (мета-теги, cookies, заголовки, паттерны в HTML/JS). Не работает если: приложение полностью кастомное без популярных фреймворков; SPA с обфусцированным JS; сервер за reverse proxy, скрывающим все заголовки.

Wappalyzer определение технологий сайта работает по набору сигнатур: анализирует HTTP-заголовки, HTML-разметку, JavaScript-переменные, cookies, мета-теги. На выходе — карта стека: CMS, фреймворк, язык, веб-сервер, CDN, аналитика, JS-библиотеки.

Открываете целевой сайт в браузере с расширением Wappalyzer — видите: WordPress 6.2, PHP 8.1, MySQL, Nginx 1.18, jQuery 3.6.0, Yoast SEO. Что это даёт:

  • WordPress 6.2 → проверяем через wpscan --url http://target.htb -e vp,vt,u — энумерация уязвимых плагинов (vp), тем (vt) и пользователей (u). Плагины — самое вкусное, в них дыры находят регулярно.
  • PHP 8.1 → исключаем CVE для PHP 5.x/7.x, фокусируемся на актуальных
  • Nginx 1.18 → проверяем конфигурационные ошибки (path traversal через misconfigured alias)
  • jQuery 3.6.0 → смотрим, есть ли известные XSS в этой версии

CLI-альтернатива: WhatWeb — консольный аналог для работы без GUI. Команда: whatweb -a 3 http://target.htb (уровень агрессивности 3 — активные проверки). WhatWeb показывает аналогичную информацию: серверное ПО, CMS, фреймворки, email-адреса, IP-адреса.

Связка с Nmap: данные Wappalyzer дополняют то, что показал Nmap через -sV. Nmap определяет версию веб-сервера по баннеру; Wappalyzer видит прикладной уровень — CMS, фреймворки, frontend-библиотеки. Вместе они дают полную картину стека.

Когда Wappalyzer НЕ работает

  • Кастомные приложения без популярных фреймворков: бэкенд на Go без стандартных фреймворков — Wappalyzer покажет пустоту. Решение: ручной анализ заголовков, cookies, JavaScript через DevTools.
  • Обфусцированные SPA: React/Vue/Angular с webpack-бандлом — Wappalyzer определит фреймворк, но не всегда покажет конкретные библиотеки. Дополнительно анализируйте source maps (если доступны), package.json (если .git открыт — а он открыт чаще, чем хотелось бы).
  • Ложноположительные определения: Wappalyzer иногда неверно определяет технологию по косвенным признакам. Всегда верифицируйте через curl -I и NSE-скрипты Nmap.
  • CLI-версия через npm: публичный npm-пакет Wappalyzer больше не поддерживается (проект ушёл в закрытый SaaS). Берите WhatWeb или httpx как основные CLI-альтернативы.

Связка инструментов: от разведки к эксплуатации

Три инструмента работают последовательно, и каждый этап определяет параметры следующего. Вот workflow, который я использую на каждом веб-таске:

Шаг 1 — Nmap (5-10 минут). Полное сканирование портов: nmap -sC -sV -p- -T4 <ip>. Фиксируем: открытые порты, версии сервисов, доменные имена из SSL-сертификатов. Домены — сразу в /etc/hosts.

Шаг 2 — Wappalyzer/WhatWeb (2-3 минуты). Открываем каждый обнаруженный HTTP-сервис в браузере с Wappalyzer. Параллельно whatweb -a 3 по каждому URL. Фиксируем: CMS, фреймворки, версии, JS-библиотеки.

Шаг 3 — Gobuster (5-15 минут). На основе определённого стека выбираем словарь и расширения. WordPress? Добавляем -x php. Java/Tomcat? -x jsp,xml. Python/Flask? -x py,json. Запускаем по каждому найденному веб-порту.

Шаг 4 — Углублённая энумерация. Найденные эндпоинты (admin-панели, API, .git, backup-файлы) передаём в Burp Suite для ручного анализа. Здесь разведка заканчивается и начинается эксплуатация.

На CTF шаги 1-3 запускаются параллельно. Пока Nmap сканирует все порты — вы уже работаете с портом 80 через Gobuster. Экономия времени — решающий фактор в соревнованиях. Не сидите и не смотрите на прогресс-бар Nmap — он справится без вас.

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

Сводный чеклист по сбору информации о веб-приложении. Каждый пункт — конкретное действие с конкретным инструментом.

Пассивная разведка (OSINT перед атакой на веб-сайт): 1. WHOIS и DNS-записи: whois target.com, dig target.com ANY 2. Google Dorks: site:target.com filetype:pdf, site:target.com inurl:admin 3. Certificate Transparency: crt.sh — поиск поддоменов через сертификаты 4. Веб-архив: web.archive.org — старые версии страниц, удалённые эндпоинты 5. Shodan/Censys: поиск IP по домену, открытые порты и баннеры

Активная разведка — сканирование портов (Nmap): 6. Полное сканирование TCP: nmap -sC -sV -p- -T4 <ip> 7. UDP-порты (топ-100): nmap -sU --top-ports 100 <ip> 8. NSE-скрипты: nmap --script http-enum,http-headers,http-methods -p 80,443 <ip> 9. Добавление доменных имён из SSL в /etc/hosts

Активная разведка — определение стека (Wappalyzer): 10. Браузерное расширение по каждому HTTP-порту 11. CLI-верификация: whatweb -a 3 <url> 12. Фиксация CMS, фреймворков, версий серверного ПО

Активная разведка — поиск скрытых директорий и файлов (Gobuster): 13. Перебор директорий с расширениями: gobuster dir -u <url> -w <wordlist> -x php,txt,bak,old,zip -t 50 14. Проверка виртуальных хостов: gobuster vhost -u <url> -w <subdomains_wordlist> --append-domain 15. Поиск backup-файлов: gobuster dir -u <url> -w <wordlist> -x bak,old,zip,tar.gz,sql

Финализация: 16. Составление карты приложения: все найденные порты, сервисы, директории, эндпоинты, технологии 17. Приоритизация целей: debug-эндпоинты, backup-файлы, .git-директории, устаревшие компоненты — в первую очередь 18. Передача данных в Burp Suite для ручного тестирования

Сравнительная таблица инструментов разведки

Критерий Nmap Gobuster ffuf Wappalyzer WhatWeb
Основная задача Порты и сервисы Директории/поддомены Директории/параметры/поддомены Стек технологий (GUI) Стек технологий (CLI)
Скорость на CTF Средняя (полный скан ~3-5 мин) Высокая (~1-2 мин) Очень высокая Мгновенно Быстро
Гибкость фильтрации Через NSE-скрипты Базовая (по коду, размеру) Продвинутая (код, размер, слова, regex) Нет Частичная
Работа через CDN Нет (видит CDN-узел) Да (HTTP-уровень) Да (HTTP-уровень) Да Да
Обход WAF rate-limiting Через настройку тайминга Через снижение потоков Через -rate Не применимо Через -w (wait)
Лучший сценарий Первый шаг — карта портов Поиск скрытых путей при известном стеке Фаззинг параметров и сложная фильтрация Быстрая идентификация CMS Автоматизация в скриптах
Когда НЕ использовать CDN без обхода, stealth-пентест с T4 Custom 404 с кодом 200 Простые задачи (overkill) Кастомные приложения Когда нужна глубина Wappalyzer

Типичные ошибки при энумерации веб-приложений на CTF

За время участия в CTF и работы на площадках HackTheBox и TryHackMe — пять ошибок, которые стабильно стоят командам часов времени. Каждую из них я совершал сам, так что без морализаторства.

Ошибка 1: сканирование только топ-1000 портов. Дефолтный nmap <ip> без -p- проверяет 1000 самых распространённых портов. Веб-сервисы на нестандартных портах (3000, 5000, 8000, 8080, 8443, 9090) — классика CTF-тасков. Всегда -p-. Без исключений.

Ошибка 2: игнорирование расширений в Gobuster. Запуск gobuster dir без -x ищет только директории. Файлы config.php.bak, database.sql, flag.txt — не найдёте. Определите стек через Wappalyzer, добавьте соответствующие расширения.

Ошибка 3: один словарь на все случаи. common.txt из DirBuster — устаревший и маленький. Используйте SecLists: raft-medium-directories.txt для директорий, raft-medium-files.txt для файлов. Для специфичных CMS — специализированные словари (SecLists/Discovery/Web-Content/CMS/).

Ошибка 4: пропуск виртуальных хостов. На одном IP может висеть несколько виртуальных хостов. Если Nmap показал домен в SSL-сертификате — проверьте vhost-ы через gobuster vhost. На CTF часто прячут отдельное приложение на поддомене (dev.target.htb, staging.target.htb). Один раз я нашёл staging с отключённой аутентификацией — таск решился за пять минут.

Ошибка 5: разведка без записи результатов. Через час вы не вспомните, какие директории были на порту 8080. Сохраняйте вывод каждой команды: nmap ... -oN nmap_full.txt, gobuster ... | tee gobuster_80.txt. Или используйте CherryTree/Obsidian для структурирования заметок.

Формула на бумаге понятна, но по-настоящему эти ошибки осознаются только когда сам тратишь время впустую на таске. Готовый стенд для отработки web-разведки есть на HackerLab.pro — российская CTF-платформа экосистемы Codeby с категориями web, recon, OSINT и другими. Нужна регистрация, после неё доступны задачи всех уровней.

Разведка веб-приложения перед атакой — этап, который определяет всё остальное. За последний год я разбирал десятки writeup-ов с CTF, и в подавляющем большинстве случаев корневая причина провала — не отсутствие знания эксплойта, а пропущенный элемент на этапе разведки. Непросканированный порт, незамеченный backup-файл, проигнорированный поддомен. Инструменты — Nmap, Gobuster, Wappalyzer — это не rocket science. Команды простые, вывод читаемый. Проблема в дисциплине: люди видят порт 80, открывают браузер и сразу начинают тыкать SQLi в форму логина, пропуская всё остальное.

Мой подход: не трогать ни одну форму, пока полный скан портов не завершён, стек не определён, и директории не перебраны хотя бы средним словарём. На CTF это контринтуитивно — время давит, хочется сразу ковырять. Но именно эта дисциплина даёт стабильный результат. Через год вы будете решать таски не быстрее, а стабильнее, и это важнее. Если идёте к OSCP и нужна подготовка по веб-части — WAPT покрывает это в первой трети курса, с лабами на каждый этап разведки.

🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «pentest-machines».

Поделиться

0 комментариев

Пожалуйста, войдите, чтобы оставить комментарий.

Загрузка комментариев...