Skip to content

Типы наблюдений ​

ТипБизнес-смысл и сохраняемый результат
APIКаталог обнаруженных endpoint-ов и операций. Хранит метод, шаблон маршрута, тип/операцию GraphQL, признак требования авторизации, параметры, их источники, обязательность, комментарии и накопленные значения.
HostХост или семейство динамических имён. Хранит исходный origin, необязательный шаблон сопоставления и список конечных точек IP:PORT с отдельными комментариями.
BaseUrlБазовый путь выбранного origin. Хранит необязательные шаблоны сопоставления origin и нормализованных URI-путей.
CommentFinderКомментарии из HTML/JavaScript и их положение в исходнике. Помогает находить забытые инструкции, debug-информацию, пути, TODO и отключенный код.
SensitiveCodeПотенциально чувствительные JavaScript-конструкции с позицией и контекстом: источники и приемники данных, динамическое исполнение, DOM-операции и другие места для ручного security-review.
SourceMapАвтоматическое наблюдение о реально полученном в трафике source map: успешном JSON-ответе на GET-запрос к файлу .js.map или .css.map. Это не предположение по ссылке или другому признаку существования карты. Чтобы такой запрос попал в трафик, при работе с приложением следует хотя бы один раз открыть инструменты разработчика браузера: обычно браузер запрашивает source maps при их использовании. Вложенные исходники извлекаются локально. JavaScript, JSX, TypeScript и TSX анализируются с сохранением исходного кода, включая компоненты React и декораторы в Angular TypeScript. Vue-файлы .vue и другие пока неподдерживаемые форматы доступны для просмотра. В результате SourceMap доступна таблица файлов: выбор строки открывает исходный код рядом с запросом карты. Наблюдения комментариев, строк и опасных конструкций из этих файлов попадают в обычный дашборд анализа.
SupportHeaderАвтоматически фиксирует уникальные в пределах проекта имена нестандартных HTTP-заголовков, встречавшихся в запросах или ответах. В карточке наблюдения можно посмотреть все значения выбранного заголовка во всем трафике проекта, а затем открыть конкретный HTTP-обмен, в котором встретилось выбранное значение.
SupportCookieАвтоматически фиксирует уникальные в пределах проекта имена cookie, переданных в запросах. В карточке наблюдения можно посмотреть встречавшиеся значения и открыть конкретные HTTP-обмены, в которых cookie передавалась или устанавливалась.
UnknowTagАвтоматическое наблюдение об HTML-теге, который не описан в собственной Xtext-грамматике WebVulnFinder и поэтому разобран как неизвестный элемент. Сохраняет сам фрагмент и его положение в исходном ответе для последующего анализа.
DetectedVersionРучное наблюдение для фиксации замеченной пентестером версии компонента или технологии и связанных с ней HTTP-обменов.
DetectedStringАвтоматическое техническое наблюдение со структурированным набором категоризированных строк ответа. На нем основаны витрина строк, просмотр строк конкретного ответа, поиск HTTP-обменов по выбранному фрагменту, извлечение однотипных значений из ответов и смысловое сравнение ответов.
NotesУниверсальная ручная заметка, к которой можно прикрепить один или несколько HTTP-обменов. Также используется для принятых AI-заключений, не относящихся к существующему наблюдению.
SystemErrorТехническая ошибка серверного анализа конкретного HTTP-обмена; помогает контролировать полноту обработки.

Host и BaseUrl ​

Оба наблюдения можно создать из выбранного HTTP-обмена через меню ручного создания. Для Host подставляется origin запроса. Для BaseUrl автоматически подставляется наиболее конкретное подходящее значение списка BASE_URLS; если его нет, подставляется первый узел пути. Базовый путь оканчивается /. После создания можно изменить поля результата, задать для BaseUrl отдельные шаблоны origin и пути и дополнить Host адресами IP:PORT через меню таблицы. Комментарий конечной точки редактируется под таблицей при выборе строки.

«Порты и роль Host» собирает адреса IPv4/IPv6 и исследует стандартный набор TCP-портов каждого адреса с определением сервисов и версий. Для этого на машине с Burp должен быть установлен nmap. Он ищется через PATH; на macOS также поддерживаются стандартное приложение /Applications/nmap.app и каталоги Homebrew /opt/homebrew/bin и /usr/local/bin. Наличие nmap проверяется перед загрузкой данных с сервера. Если он недоступен, объекты исследования портов и роли Host получают статус «Ожидает»; пояснение показано в колонке «Причина». После установки обновите данные с сервера — доступные объекты вернутся в очередь без перезапуска Burp. Остальные исследования продолжают работать. DNS-имя разрешается в IP-адреса, затем каждый IP передаётся nmap. Найденные порты сохраняются до обращения к ИИ. Список разрешённых адресов, ход и время сканирования доступны в журнале конкретной задачи. Новые порты добавляются с комментариями nmap. Для известной пары IP:PORT заполняется только пустой комментарий. Непустой комментарий при повторном запуске остаётся без изменений. Ранее записанные конечные точки сохраняются: отсутствие порта в новом результате не доказывает, что он закрыт. Ошибка или отмена отражается в истории, а уже собранные данные остаются доступны.

ИИ сопоставляет результаты с данными проекта и предлагает комментарий о роли хоста, подозрительных сервисах и обнаруженном опасном поведении. Комментарий применяется через обычную рекомендацию. После завершения анализа и решений по рекомендациям Host получает общее состояние «Подтвердить» (RESOLVED). Возврат в «Новый» снова делает его доступным для автоматического исследования. Исследование охватывает точное имя из origin; шаблон связанных origin не расширяет область сканирования.

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

Модель API ​

API-наблюдение объединяет повторные обращения к одной логической операции и постепенно расширяет знание о ней. В частности:

  • переменная часть URL может быть представлена единым шаблоном маршрута, а не множеством endpoint-ов для каждого идентификатора;
  • GraphQL query/mutation/subscription и имя операции различают логические API на одном HTTP URL;
  • повторные Proxy-запросы добавляют новые параметры и значения к существующему API;
  • связанные HTTP-обмены сохраняются как доказательства и источники новых сведений об API без накопления незначимых дублей;
  • новые параметры и значения расширяют уже известную схему API;
  • пользователь может ограничить добавление похожих вариантов ответа;
  • шаблон поиска API доступен для редактирования как регулярное выражение;
  • обязательность параметров и необходимость авторизации являются сохраняемыми свойствами, которые могут изменяться вручную или через рекомендации.

В карточке API доступны следующие поля и действия:

ЭлементЧто показывает или изменяет
Шаблон маршрутаРегулярное выражение, по которому сохраненные запросы относятся к API. Изменение влияет на дальнейшие выборки и обогащение. Перед сохранением выражение проверяется на корректность.
МетодHTTP-метод API.
ОперацияИмя/тип операции, прежде всего для GraphQL.
«Требует авторизацию»Сохраняет знание о необходимости auth-контекста. Значение также предлагается рекомендациями после no-auth теста.
«Не расширять похожими»Если для кода ответа уже есть привязанный запрос, не добавляет ещё один только из-за отличия ответа. Новый статус, новый параметр или новый Content-Type тела по-прежнему могут привязать запрос.
Таблица параметровДедуплицированный список имен параметров и их источников, накопленный по всем относящимся к API запросам. Один параметр показывается один раз, даже если API вызывался многократно.
Вкладка «Значения»Дедуплицированный пользовательский набор репрезентативных значений выбранного параметра. Список можно редактировать построчно и использовать как компактную память о значениях, важных для последующих тестов.
«Сохранить значение» в таблице запросовДобавляет выбранные фактически встреченные значения в пользовательский список «Значения», не создавая повторов.
Вкладка «Информация»Позволяет отметить параметр обязательным/необязательным и сохранить комментарий к нему.
Вкладка «Значения по запросам»Показывает каждое фактически встреченное значение выбранного параметра и HTTP-запрос, в котором оно наблюдалось. Выбор строки открывает соответствующий request/response и передаёт имя параметра в стандартный поиск Burp, который показывает его передачу в запросе независимо от того, находится он в query, структурированном body, path или другом поддерживаемом источнике.
«Добавить к результату»Загружает выбранные обмены из таблицы значений и прикрепляет их к текущему API-наблюдению как доказательства.

Таким образом, карточка API позволяет пройти от общей дедуплицированной схемы к конкретному значению, а от него — к исходному HTTP-обмену. Тот же поперечный анализ для всех наблюдавшихся endpoint-ов доступен в общей витрине параметров; ее можно экспортировать, нормализовать вне Burp и превратить в собственные проектные словари.

Параметры API, значения и запросы-источники

Используйте WebVulnFinder только в согласованном scope.