Содержание статьи
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Collaborator
Инструмент Collaborator нужен для большинства слепых атак: SSRF, SSTI, command injection, XSS, XXE и других, в которых ты не можешь напрямую увидеть результат. Даже в слепой SQL-инъекции Collaborator пригодится, чтобы ускорить получение данных. Например, через DNS-запрос, добавляя в URL данные, закодированные в Base64.
Давай откроем Burp Collaborator и нажмем Get Started. Burp выделит субдомен для твоего проекта и повесит на него слушатель. Адрес будет выглядеть примерно так:
6w3nr6rgzwiphi514923wwew8nee26qv.oastify.com
Любые запросы к нему мы увидим на вкладке Collaborator.

Запросы фиксирует сервер PortSwigger. Он работает независимо от того, запущен у тебя Burp или нет. Когда откроешь проект, к которому привязан уникальный адрес, Burp подтянет все запросы, упавшие на сервер.
Создаем слушатель, копируем адрес и закрываем проект. Выполняем обычный запрос через curl, после этого открываем проект. Если запросы не подтянулись сами, нажимаем Pull Now.
Попробуем передать данные в запросе. Добавим к URL путь /. Получится такая ссылка:
http://6w3nr6rgzwiphi514923wwew8nee26qv.oastify.com/SGVsbG8sIGhhY2tlciE=
Можешь выполнить запрос через curl или просто открыть свою ссылку в браузере. В Collaborator появятся связанные запросы, включая закодированное сообщение. Декодировать сообщение можно в Burp на вкладке Decoder. Адрес рабочий, можешь попробовать отправить мне через него сообщение.
Для демонстрации работы хорошо подходит лаба Blind SSRF with out-of-band detection с сайта PortSwigger. Атака из лабы может пригодиться тебе на практике. Когда неизвестен реальный IP-адрес таргета, она поможет его узнать.
Лаба — обычный информационный сайт, на котором представлены разные товары. Открываем любой товар, перехватываем запрос в Burp Suite и отправляем его в Repeater.
Уязвимость в поле Referer. Когда пользователь открывает карточку товара, сервер делает запрос к ресурсу, указанному в Referer. Выделяем часть реферера, которая идет после https:/. Кликаем правой кнопкой мыши и нажимаем Insert Collaborator payload. Burp сам создаст субдомен и подставит его в запрос.

Отправляем запрос и ждем, когда в Collaborator прилетит информация. Иногда требуется несколько минут. Можно нажать Pull Now, чтобы проверить, появились ли данные. Если запрос долго не приходит, убедись, что Referer начинается с https:/.

Результатом атаки станут два DNS-запроса и один HTTP-запрос. На практике один или несколько серверов могут быть связаны с таргетом. Есть шанс добраться до сервера и просканировать его с помощью Nmap или другой тулзы.
Burp Collaborator доступен только в Burp Suite Professional. Если пользуешься Community Edition, можно взять бесплатный webhook.site или похожий сервис. Заходим на сайт — он выдаст уникальный адрес. Важно сохранить ссылку, чтобы позже увидеть результат.
Атака на токены и сессии
Burp Sequencer — инструмент для анализа токенов, идентификаторов сессий и любых других случайных значений на предмет повторного использования.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
