Содержание статьи
Клиенты API
Это программы для тестирования API (Application Programming Interface). Они упрощают отладку и тестирование кода, включая тестирование на проникновение.
Postman
Отраслевой стандарт, о котором ты, скорее всего, слышал, — Postman. Помимо удобной отправки запросов он обеспечивает встроенную среду выполнения JavaScript (Postman Sandbox) на базе Node.js.
Пишешь скрипт, который выполнится перед запросом или после получения ответа. Например, если нужна предварительная авторизация или надо вытащить какой‑то токен. Есть переменные окружения: определил один раз — используешь где угодно. Причем все фишки доступны на разных уровнях — для отдельного запроса или целой коллекции запросов. Да, запросы группируются в коллекции. Есть мониторы, тесты и многое другое для отладки.
Популярность Postman пошатнулась, когда его разработчики стали делать ставку на облако, а не на полностью локальное хранение. У сообщества появилось обоснованное недоверие к инструменту, а аналоги стали набирать популярность.
Bruno
По моему мнению, это Postman тех времен, когда он был идеальным и хранил инфу локально. Есть 99% всех необходимых возможностей и ничего лишнего. Поддерживает все методы HTTP: POST, GET, PUT и другие. Недостаточно? Добавь свой: в меню выбора есть пункт Add custom. Запрос на 100% под твоим контролем: заголовки, отдельно вынесенные заголовки авторизации, прокси и другие параметры.
Тестировать можно не только REST API: кроме HTTP-запросов можно использовать GraphQL, gRPC и WebSocket.
Скачай Bruno с официального сайта, там есть версии для всех современных платформ. Бесплатной версии хватит за глаза и пентестеру‑одиночке, и небольшой команде. Большинство фишек платной версии нужны только на уровне энтерпрайза.

Для теста используй, например, этот сервис, имитирующий API, или похожий. Зарегистрируйся и сгенерируй ключ авторизации x-api-key.
Открой Bruno. В интерфейсе сразу появится пустой запрос. Поменяй тип запроса на POST, укажи URL https://. На вкладке Headers добавь заголовок x-api-key и свой токен. На практике тебе понадобятся и другие способы авторизации; в Bruno они задаются на уровне коллекции.
Перейди на вкладку Body, выбери тип JSON и укажи в значении объект:
{ "email": "hacker@hacker.ru", "password": "securePassword123", "name": "PWNer"}Жми Send, чтобы отправить запрос и увидеть результат.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
