Урок 7. Burp Suite и curl: повторить и изменить запрос

DevTools хорошо показывает запросы одного браузера. Burp Suite удобен, когда нужно сохранить историю, повторить запрос и изменить одно поле, не нажимая кнопку заново.

Ограничиваем Scope адресом лаборатории

Откройте работающий «Кружок» и скопируйте origin — схему, имя узла и порт без пути. В Burp Suite откройте Target → Scope и добавьте только этот origin.

Настройка Scope в Burp Suite

1 — Scope; 2 — единственный разрешённый префикс выданной лаборатории.

Основной сайт курса и адреса других участников в Scope не входят. Фильтр помогает не перепутать цели, но разрешение на работу всё равно задаёт карточка лаборатории.

Для первого опыта используйте встроенный браузер Burp Suite: он уже направляет трафик через прокси (Proxy).

Браузер отправляет запрос через Burp Suite только в выданную лабораторию

Burp Suite находится между настроенным браузером и выданной лабораторией.

Чем Intercept отличается от HTTP history

Intercept удерживает текущий запрос до команды Forward или Drop. HTTP history сохраняет запросы и ответы, которые уже прошли через Proxy.

Различие между Intercept и HTTP history

Intercept удерживает текущий запрос, а HTTP history хранит прошедшие обмены.

Один раз включите Intercept, обновите главную страницу лаборатории, проверьте Host и путь, затем нажмите Forward и снова выключите Intercept. Для обычного наблюдения оставляйте его выключенным.

Удержанный запрос во вкладке Intercept

1 — Intercept on; 2 — Forward; 3 — удержанная строка; 4 — сам запрос.

После этого войдите как student с паролем student, откройте настройки и сохраните новый email. В HTTP history оставьте только записи из Scope и восстановите цепочку от отправки формы до страницы с сохранённым значением.

Burp Suite HTTP history с запросами лаборатории

1 — HTTP history; 2 — запрос лаборатории; 3 — включённый фильтр.

Восстановите изменение профиля в HTTP history

10 б.

Уровень: базовое закрепление.

Через встроенный браузер Burp Suite войдите в «Кружок», измените email в настройках и отфильтруйте HTTP history по Scope.

Заполните отдельные поля для запроса изменения и следующего за ним запроса проверки.

Почему Repeater удобнее повторного клика

Найдите в HTTP history поиск проекта по слову robot и выберите Send to Repeater. Сначала отправьте запрос без изменений и сохраните исходный ответ. Это исходный пример, с которым можно честно сравнивать следующую попытку.

Действие Send to Repeater в Burp Suite

1 — выбранная строка history; 2 — Send to Repeater.

Создайте копию вкладки и замените только значение q на meteor. Не меняйте метод, путь, Host и остальные заголовки, если они не мешают отправке.

В Repeater значение q меняется с robot на meteor, остальные части запроса сохраняются

Копия исходного запроса отличается только значением параметра q.

Если ответы отличаются ожидаемым заголовком проекта, вы показали влияние одного параметра. Само по себе это нормальное поведение поиска, а не признак уязвимости.

Сравнение запросов robot и meteor в Repeater

1 — Repeater; 2 — единственное изменение q=meteor; 3 — ожидаемый проект в ответе.

Повторяем тот же запрос через curl

Скопируйте изменённый запрос как curl или возьмите команду из DevTools. Выполните её против того же адреса лаборатории. Для этого публичного GET достаточно сохранить URL с параметром поиска и заголовки, без которых сервер действительно меняет ответ.

Удаляйте лишние заголовки браузера по одному. После каждого изменения проверяйте, что код и заголовок проекта остались ожидаемыми.

Измените один параметр в Repeater

10 б.

Уровень: базовое закрепление.

Отправьте поиск robot из HTTP history в Repeater и сохраните исходный ответ. В копии вкладки замените только значение q на meteor. Изменённый запрос повторите через curl.

Заполните отдельные поля для первой и второй попыток, затем выберите результат сравнения Repeater с curl.

Где это пригодится на олимпиаде

В задачах «Коллективные документы» (9 класс, региональный этап 2025 года), «Вавиловы счета» (10 класс, региональный этап 2025 года) и Web 10-2 (10 класс, заключительный этап 2026 года) участники находили запрос в Burp Suite, отправляли его в Repeater и меняли путь или тело запроса. В задаче Web 9-2 для 9 класса на заключительном этапе 2026 года запрос к API воспроизводили через curl. Эти действия показаны в официальных разборах задач. Поэтому здесь важен весь маршрут: точная область проверки, исходный запрос, одно контролируемое изменение и проверка ответа.

Вывод

Scope ограничивает рабочий журнал адресом вашей лаборатории, HTTP history сохраняет прошедшие запросы, а Repeater позволяет повторить выбранный обмен и изменить ровно одно значение. Сравнение с исходным ответом и повтор через curl отделяют подтверждённое влияние параметра от случайного различия.

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