Введение
Добро пожаловать в эту лабораторную работу по использованию Burp Repeater. Burp Repeater — это простой, но мощный инструмент в составе Burp Suite для ручного изменения и повторной отправки отдельных HTTP-запросов, а также для анализа ответов приложения. Это фундаментальный инструмент для любого тестировщика безопасности веб-приложений, позволяющий выявлять уязвимости, наблюдая за тем, как сервер реагирует на различные входные данные.
В этой лабораторной работе вы изучите основной рабочий процесс Burp Repeater. Вы начнете с перехвата стандартного запроса из веб-приложения, отправите его в Repeater, измените его параметры, а затем повторно отправите его на сервер. Наконец, вы проанализируете ответ сервера на ваш измененный запрос и научитесь перемещаться по истории запросов.
Выбор запроса на вкладке Repeater
На этом шаге вы перехватите запрос из демонстрационного веб-приложения и отправите его в Burp Repeater для дальнейшей модификации. Лабораторная среда уже запустила для вас веб-приложение и Burp Suite. Браузер настроен на проксирование трафика через Burp Suite.
Сначала давайте сгенерируем некоторый трафик.
- Откройте веб-браузер с рабочего стола.
- Перейдите к целевому приложению, введя
http://127.0.0.1:5000в адресной строке. - Вы увидите простую форму входа. Оставьте значения по умолчанию (
userиpass) и нажмите кнопкуSubmit.
Теперь найдем этот запрос в Burp Suite.
- Переключитесь в окно Burp Suite.
- Перейдите на вкладку
Proxy, а затем нажмите подвкладкуHTTP history. Вы увидите список запросов, сделанных вашим браузером. - Найдите запрос
POSTк конечной точке/login. Он должен быть ближе к началу списка. Щелкните по нему, чтобы просмотреть его детали в панелях ниже. - Щелкните правой кнопкой мыши в любом месте панели запроса и выберите
Send to Repeaterиз контекстного меню. Вы также можете использовать горячую клавишуCtrl+R.
Появится новая вкладка, которая мигнет оранжевым цветом в инструменте Repeater. Щелкните на вкладке Repeater, чтобы просмотреть только что отправленный вами запрос.
Изменение значения заголовка или параметра
На этом шаге вы измените запрос, который отправили на вкладку Repeater. Интерфейс Repeater разделен на две основные секции: панель запроса слева и панель ответа справа. В настоящее время панель ответа пуста, поскольку мы еще не отправили запрос из Repeater.
Сосредоточимся на панели запроса слева. Здесь вы можете редактировать любую часть запроса перед его отправкой. Это включает строку запроса, заголовки и тело запроса.
- Посмотрите в нижнюю часть панели запроса. Вы увидите тело запроса
POST, которое содержит данные формы:username=user&password=pass. - Давайте проверим, можем ли мы войти как другой пользователь. Измените значение параметра
usernameсuserнаadmin. Строка теперь должна выглядеть так:username=admin&password=pass. - Вы также можете изменять заголовки. Например, найдите заголовок
User-Agentи измените его значение на что-то пользовательское, напримерMy-Custom-Browser/1.0.
Ваш измененный запрос в левой панели готов к отправке.
Нажмите кнопку 'Send', чтобы отправить измененный запрос
На этом шаге вы отправите измененный HTTP-запрос на сервер. После редактирования запроса в левой панели следующим действием будет его передача.
В верхней части панели запроса вы найдете кнопку Send. Эта кнопка используется для отправки текущего запроса, отображаемого в панели.
- Убедитесь, что ваш запрос был изменен, как описано в предыдущем шаге (например,
usernameустановлен наadmin). - Нажмите кнопку
Send.
Burp Repeater теперь отправит этот измененный запрос на целевой сервер по адресу 127.0.0.1:5000. Через мгновение ответ сервера появится в панели ответа справа.
Анализ ответа сервера
На этом шаге вы проанализируете ответ сервера на ваш измененный запрос. После нажатия кнопки Send панель ответа справа заполнилась данными, возвращенными сервером.
- Изучите панель ответа. Вы увидите полный HTTP-ответ, включая строку состояния (например,
HTTP/1.0 200 OK), заголовки ответа и тело ответа. - Посмотрите на тело ответа. Поскольку наше тестовое приложение отражает имя пользователя в своем выводе, вы должны увидеть сообщение:
Login attempt for user: 'admin' failed. Please try again.. Это подтверждает, что сервер обработал наш измененный ввод. - Над телом ответа есть несколько опций просмотра:
Pretty,Raw,HexиRender.Pretty: Отображает отформатированную версию ответа, что полезно для HTML и JSON.Raw: Отображает точные байты, полученные от сервера.Render: Пытается отобразить ответ так, как это сделал бы веб-браузер. Нажмите наRender, чтобы увидеть визуальное представление страницы входа с сообщением об ошибке.
Анализ ответов — это критически важный навык. Отправляя различные полезные нагрузки и наблюдая за ответами, вы можете понять, как ведет себя приложение, и выявить потенциальные уязвимости.
Используйте стрелки истории для навигации между отправленными запросами
На этом шаге вы научитесь использовать функцию навигации по истории в пределах вкладки Repeater. Repeater сохраняет историю всех запросов, которые вы отправили на текущей вкладке, что очень полезно для сравнения ответов на немного отличающиеся запросы.
Рядом с кнопкой Send вы увидите число (в настоящее время 1) и стрелки назад/вперед (< и >). Они позволяют перемещаться по истории запросов.
- Давайте создадим еще одну запись в истории. В панели запроса измените
usernameобратно наuser. - Нажмите
Sendеще раз. Вы увидите, что ответ обновился, отражая попытку входа дляuser. Число рядом с кнопкойSendтеперь показывает2. - Теперь нажмите стрелку назад (
<). Панели запроса и ответа обновятся, показывая ваш первый запрос (сusername=admin) и соответствующий ему ответ. Число изменится обратно на1. - Нажмите стрелку вперед (
>), чтобы вернуться ко второму запросу (сusername=user).
Эта функция позволяет быстро тестировать вариации запроса и сравнивать результаты без необходимости вручную повторять изменения или управлять несколькими вкладками Repeater.
Итоги
В этой лабораторной работе вы изучили основные операции Burp Repeater, являющегося ключевым компонентом Burp Suite.
Вы успешно перехватили HTTP-запрос из веб-приложения и отправили его в Repeater. Затем вы отработали модификацию параметров и заголовков запроса, повторную отправку измененного запроса на сервер и анализ полученного ответа. Наконец, вы узнали, как использовать навигацию по истории для эффективного переключения между различными отправленными вами запросами.
Овладение Burp Repeater — это ключевой шаг на пути к совершенствованию в ручном тестировании безопасности веб-приложений, поскольку он предоставляет необходимый контроль для поиска широкого спектра уязвимостей.
