Сравнение двух запросов в Burp Comparer

Beginner
Практиковаться сейчас

Введение

Burp Suite — это мощный набор инструментов для тестирования безопасности веб-приложений. Одной из его наиболее полезных функций является Burp Comparer, инструмент для выполнения визуального сравнения ("diff") любых двух фрагментов данных, таких как HTTP-запросы или ответы. Это невероятно полезно для выявления тонких различий, которые могут указывать на уязвимости, например, изменения в токенах сеанса, скрытых полях формы или сообщениях об ошибках.

В этой лаборатории вы изучите основной рабочий процесс использования Burp Comparer. Вы захватите два похожих HTTP-запроса с помощью Burp Proxy, отправите их в инструмент Comparer, а затем проанализируете выделенные различия.

Поиск двух похожих запросов в истории прокси

На этом шаге вы запустите Burp Suite и веб-браузер для генерации двух похожих запросов на вход. Эти запросы затем будут использованы для сравнения.

Сначала запустите необходимые приложения. Вы найдете Burp Suite и Chromium Web Browser на рабочем столе.

  1. Дважды щелкните значок Burp Suite на рабочем столе, чтобы запустить его. Если появится диалоговое окно, вы можете использовать настройки по умолчанию и нажать Next, а затем Start Burp.
  2. Дважды щелкните значок Chromium Web Browser на рабочем столе.

Далее вам нужно будет захватить некоторый трафик. Мы попытаемся дважды войти на вымышленный веб-сайт с разными учетными данными.

  1. В Burp Suite перейдите на вкладку Proxy, а затем на подвкладку Intercept. Если кнопка гласит Intercept is off, нажмите на нее, чтобы она изменилась на Intercept is on.
  2. В браузере Chromium перейдите по следующему адресу: http://www.google.com. Вы увидите, что запрос "застрял" в Burp Suite.
  3. Вернитесь в Burp Suite. Вы увидите захваченный запрос. Для этой лаборатории нам не нужно его изменять. Просто нажмите кнопку Forward, чтобы запрос продолжил выполнение. Повторите это несколько раз, пока страница Google не загрузится в вашем браузере.
  4. Теперь давайте сгенерируем наши целевые запросы. В браузере найдите "login page example". Щелкните любой результат, который предоставляет простую форму входа. В этом примере предположим, что вы нашли страницу и ввели user1 для имени пользователя и pass1 для пароля. Нажмите кнопку входа.
  5. Вернитесь в Burp Suite и нажмите Forward, чтобы запрос на вход прошел.
  6. Вернитесь в браузер, введите другие учетные данные, например user2 и pass2, и снова нажмите кнопку входа.
  7. Вернитесь в Burp Suite и нажмите Forward еще раз.

Теперь, когда вы сгенерировали трафик, вы можете найти запросы в истории вашего прокси.

В Burp Suite перейдите на вкладку Proxy, а затем на подвкладку HTTP history. Здесь вы увидите журнал всех запросов, которые прошли через прокси. Просмотрите список, чтобы найти два запроса POST на страницу входа, которую вы использовали. Это два запроса, которые мы будем сравнивать на следующих шагах.

Щелкните правой кнопкой мыши первый запрос и выберите "Send to Comparer"

На этом шаге вы отправите первый из двух запросов на вход в инструмент Comparer.

Оставайтесь на вкладке Proxy -> HTTP history в Burp Suite, где вы можете видеть список захваченных запросов.

  1. Найдите первый запрос на вход, который вы сделали (например, тот, который содержит учетные данные user1 и pass1).
  2. Щелкните правой кнопкой мыши на этом конкретном запросе в списке истории. Это откроет контекстное меню с множеством опций.
  3. В этом контекстном меню найдите и выберите опцию Send to Comparer.

Это действие копирует выбранный запрос и загружает его в инструмент Comparer. Вкладка Comparer в верхней части окна Burp Suite теперь должна быть выделена или изменить цвет, указывая на то, что она получила новые данные. Вы можете нажать на вкладку Comparer, чтобы убедиться, что один элемент был загружен.

Щелкните правой кнопкой мыши второй запрос и выберите "Send to Comparer"

Теперь вы отправите второй запрос на вход в инструмент Comparer. Это предоставит второй элемент, необходимый для сравнения.

  1. Вернитесь на вкладку Proxy -> HTTP history.
  2. Найдите второй запрос на вход, который вы сделали (например, тот, который содержит учетные данные user2 и pass2).
  3. Щелкните правой кнопкой мыши на этом втором запросе в списке истории.
  4. В появившемся контекстном меню снова выберите Send to Comparer.

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

В Comparer выберите два элемента и нажмите "Words" для сравнения

Теперь, когда оба запроса загружены в Comparer, вы готовы выполнить фактическое сравнение.

  1. Перейдите на вкладку Comparer в Burp Suite.
  2. В верхней части интерфейса Comparer вы увидите список отправленных вами элементов. Должно отображаться два элемента.
  3. Выберите оба элемента. Вы можете сделать это, сначала щелкнув первый элемент, затем удерживая клавишу Ctrl и щелкнув второй элемент. Оба должны быть выделены.
  4. В нижней части окна вы увидите опции сравнения. Две основные опции — Words и Bytes. Сравнение по Words (словам) идеально подходит для текстовых данных, таких как HTTP-запросы, поскольку оно анализирует различия на уровне слов, делая вывод очень читаемым. Сравнение по Bytes (байтам) выполняет сравнение на уровне байтов, что больше подходит для двоичных данных.
  5. Нажмите кнопку Words, чтобы начать сравнение.

Burp Suite обработает два запроса и подготовит визуальное сравнение бок о бок.

Анализ выделенных различий между запросами

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

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

  • Желтый: выделяет измененные данные.
  • Розовый: выделяет добавленные данные.
  • Синий: выделяет удаленные данные.

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

Вы сможете четко увидеть различия в теле запроса. Значения параметров имени пользователя и пароля (user1 против user2 и pass1 против pass2) будут выделены желтым цветом, указывая на то, что они были изменены.

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

  • Заголовок Content-Length может отличаться, если новые значения параметров имеют разную длину.
  • Заголовок Cookie может измениться, если сервер назначил новый идентификатор сеанса.

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

Резюме

В этой лабораторной работе вы изучили основной рабочий процесс использования Burp Comparer для анализа HTTP-запросов. Вы успешно сгенерировали сетевой трафик, выделили два похожих запроса из истории вашего прокси и отправили их в инструмент Comparer. Выполнив сравнение на основе слов, вы смогли визуально определить точные различия между двумя запросами.

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