Burp Suite для пентестера: Репитер

Burp Suite для пентестера: Репитер

Даже пользователи, которые только начинают использовать Burp Suite, вероятно, знакомы с функциями Repeater. Однако давайте рассмотрим их, чтобы вспомнить функциональность ретранслятора. Это инструмент, который позволяет пользователю или злоумышленнику изменять или повторно отправлять определенные HTTP-запросы, а также понимать и анализировать генерируемый им ответ. Здесь, в демонстрации ниже, мы захватили HTTP-запрос от браузера. Этот запрос фиксируется на подвкладке Intercept на вкладке Proxy. При щелчке правой кнопкой мыши по захваченному запросу появляется раскрывающееся меню. Это меню содержит параметр «Отправить в ретранслятор». При выборе этой опции запрос будет отправлен ретранслятору. Вы также можете использовать сочетание клавиш Ctrl и R для отправки любого запроса на ретранслятор. Сегодня мы разберем что такое Burp Suite для пентестера: Репитер.

Burp Suite для пентестера: Репитер

Теперь, когда мы успешно отправили запрос в ретранслятор, мы можем перейти к ретранслятору и переключиться с запросом, а также наблюдать за ответом, сгенерированным для этого конкретного запроса. В соответствии с вкладкой Proxy у нас также есть вкладка Repeater. Здесь мы видим, что у нас есть запрос, который был захвачен ранее. Запрос можно редактировать в соответствии с требованиями пользователя. Нажмите кнопку «Отправить», запрос будет отправлен адресату, а сгенерированный ответ будет представлен в разделе «Ответ», как показано ниже.

Burp Suite для пентестера: Репитер

Переименование вкладок

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

Burp Suite для пентестера: Репитер

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

Burp Suite для пентестера: Репитер

Метод запроса

Далее мы обсудим возможность повторителя изменять тип метода запроса. Это методы HTTP, такие как GET, POST, PUT, OPTIONS и т. д. Некоторые веб-страницы настроены для работы с несколькими методами. Предположим, вы хотите запросить страницу с полями ввода, чтобы запросить эту форму, нам нужно использовать методы GET, а для отправки данных из полей на сервер вам потребуются методы POST. Этим можно управлять с помощью только опции, присутствующей в контекстном меню под названием «Изменить метод запроса». В демонстрации, представленной ниже, у нас есть запрос GET.

Burp Suite для пентестера: Репитер

После изменения метода запроса мы видим, что метод был изменен на POST с GET, и любые параметры, которые присутствовали в URL-адресе, были перенесены в тело запроса в соответствии с нормами запроса POST.

Burp Suite для пентестера: Репитер

История запросов

При использовании любого веб-браузера у нас есть кнопки «Вперед» и «Назад». Они помогают нам переходить на предыдущую или следующую страницу. Повторитель также имеет кнопки «Назад» (<) и «Вперед» (>). Это может помочь, если мы получим ответ 301 на наш запрос. Это означает, что мы можем следить за перенаправлением. Используя кнопку «Вперед» (>), мы можем выбрать переход к следующему запросу и его последующему ответу. Однако, если вы используете ретранслятор для проверки различных параметров и их влияния на ответ, вы можете вернуться к любому ответу, который может работать в соответствии с вашими требованиями. Историю запросов можно просмотреть, нажав кнопку раскрывающегося списка рядом с кнопкой «Назад» (<), как показано ниже.

Burp Suite для пентестера: Репитер

URL как запрос

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

Burp Suite для пентестера: Репитер

Теперь мы перейдем к повторителю и создадим новую вкладку, щелкнув правой кнопкой мыши раздел. Нас спросят, должна ли новая вкладка быть HTTP-запросом или запросом веб-сокета. Поскольку мы пытаемся работать с веб-страницей, мы выбираем HTTP.

Burp Suite для пентестера: Репитер

Теперь мы щелкаем правой кнопкой мыши пустой раздел запроса и выбираем опцию «Вставить URL как запрос» в раскрывающемся меню.

Burp Suite для пентестера: Репитер

Из изображения ниже видно, что URL-адрес был преобразован в правильный запрос со всем основным заголовком, добавленным к нему Burp. Это делается автоматически. Теперь, когда у нас есть запрос на URL-адрес, который мы хотим исследовать, мы можем просто щелкнуть кнопку «Отправить» и наблюдать за сгенерированным им ответом.

Burp Suite для пентестера: Репитер

Кодирование URL

Веб-серверы с трудом справляются с пробелами и определенными символами. Следовательно, пробел и некоторые символы, такие как &, кодируются в формате URL Encode. Разработчики программируют веб-сайты для кодирования данных на стороне клиента перед генерацией запроса, а затем отправляют его на веб-сервер. Теперь, когда вы вносите изменения в запрос внутри ретранслятора, вы забываете указать правильную кодировку, запрос может вести себя непредсказуемым образом. Кроме того, некоторые фильтры размещаются для поиска определенных символов, таких как <>, но URL-адрес может кодировать эквивалент тех, которые не фильтруются, и этот фильтр можно обойти, просто закодировав их. В демонстрации ниже у нас есть запрос внутри повторителя, и мы щелкаем запрос правой кнопкой мыши и выбираем вариант URL-кодирования при вводе. Это будет кодировать наш текст в формат кодирования URL по мере ввода без каких-либо усилий с нашей стороны.

Мы видим, что мы добавили значения в параметр searchFor, пробелы преобразованы в +, а вся строка была преобразована в формат URL Encode. Это можно отключить, выбрав тот же вариант в меню.

После перенаправления

Перенаправление — важная часть любого веб-приложения. Это может помочь пользователю перемещаться по веб-страницам так, как задумал разработчик. Это также может помочь разработчику интегрировать несколько различных веб-приложений на один веб-сайт. Веб-браузеры по умолчанию следуют перенаправлению, и это создает проблему для тестера на проникновение, потому что при тестировании определенных сценариев, таких как открытое перенаправление или отравление веб-кеша, тестер на проникновение должен переключаться и наблюдать за ответом на перенаправление от приложения. У ретранслятора есть опция, которая может помочь в этой или подобных ситуациях. Он предоставляет пользователю возможность либо никогда не следовать перенаправлениям, либо следовать перенаправлению для перенаправления на сайте, либо следовать перенаправлению только для доменов в области видимости, либо просто всегда следовать перенаправлению. Это позволяет пользователю настроить повторитель в соответствии с их требованиями, основанными на сборке приложения.

Поскольку на предыдущем шаге мы выбрали Никогда, чтобы следовать перенаправлениям, мы видим ответ 302 на изображении ниже. Теперь, когда у нас есть ответ «Перенаправление», чтобы продолжить выполнение запроса, мы можем нажать кнопку «Следовать перенаправлению», как показано на изображении ниже, чтобы продолжить.

Поиск

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

Повторное открытие закрытой вкладки

Если вы уже какое-то время используете Burp, возможно, вы случайно закрыли вкладку Repeater, которую не хотите закрывать. Вы не одиноки, и это не ваша вина. Закрытие (X) размещено таким образом, что очень возможно закрыть вкладку без какого-либо намерения. После многочисленных запросов к PortSwigger они сделали эту опцию, где вы можете щелкнуть правой кнопкой мыши место, где находятся все вкладки, и выбрать опцию Reopen Closed Tab, чтобы открыть любую вкладку, которую вы случайно закрыли.

Взгляды

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

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

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

Экспорт данных ретранслятора

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

Откроется окно, в котором вас попросят указать местоположение файла, который мы хотим сохранить. При просмотре местоположения мы называем файл в соответствии с нашим требованием и предоставляем расширение как XML. Мы также можем кодировать запросы в Base64. Однако в данном случае мы этого не делаем.

Теперь история всех отправленных запросов будет найдена в указанном месте в формате XML. На изображении, представленном ниже, мы видим, что у нас есть IP-адрес цели, Домен цели, Порт цели, используемый протокол и полное содержимое запроса и ответа.

Вывод

Репитер — один из основных инструментов BurpSuite. Однако благодаря обширным исследованиям и разработкам в инструмент добавлено множество скрытых функций. Дошло до того, что многие из этих функций могут облегчить жизнь любому пентестеру.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click to rate this post!
[Total: 1 Average: 1]

Leave a reply:

Your email address will not be published.