Пинок для REST. Собираем тулзы для пентеста API

Пинок для REST. Собираем тулзы для пентеста API

Содержание статьи

Это прог­раммы для тес­тирова­ния API (Application Programming Interface). Они упро­щают отладку и тес­тирова­ние кода, вклю­чая тес­тирова­ние на про­ник­новение.

От­расле­вой стан­дарт, о котором ты, ско­рее все­го, слы­шал, — Postman. Помимо удоб­ной отправ­ки зап­росов он обес­печива­ет встро­енную сре­ду выпол­нения JavaScript (Postman Sandbox) на базе Node.js.

Пи­шешь скрипт, который выпол­нится перед зап­росом или пос­ле получе­ния отве­та. Нап­ример, если нуж­на пред­варитель­ная авто­риза­ция или надо вытащить какой‑то токен. Есть перемен­ные окру­жения: опре­делил один раз — исполь­зуешь где угод­но. При­чем все фиш­ки дос­тупны на раз­ных уров­нях — для отдель­ного зап­роса или целой кол­лекции зап­росов. Да, зап­росы груп­пиру­ются в кол­лекции. Есть монито­ры, тес­ты и мно­гое дру­гое для отладки.

По­пуляр­ность Postman пошат­нулась, ког­да его раз­работ­чики ста­ли делать став­ку на обла­ко, а не на пол­ностью локаль­ное хра­нение. У сооб­щес­тва появи­лось обос­нован­ное недове­рие к инс­тру­мен­ту, а ана­логи ста­ли набирать популяр­ность.

По моему мне­нию, это Postman тех вре­мен, ког­да он был иде­аль­ным и хра­нил инфу локаль­но. Есть 99% всех необ­ходимых воз­можнос­тей и ничего лиш­него. Под­держи­вает все методы HTTP: POST , GET , PUT и дру­гие. Недос­таточ­но? Добавь свой: в меню выбора есть пункт Add custom. Зап­рос на 100% под тво­им кон­тро­лем: заголов­ки, отдель­но вынесен­ные заголов­ки авто­риза­ции, прок­си и дру­гие парамет­ры.

Тес­тировать мож­но не толь­ко REST API: кро­ме HTTP-зап­росов мож­но исполь­зовать GraphQL, gRPC и WebSocket.

Ска­чай Bruno с офи­циаль­ного сай­та , там есть вер­сии для всех сов­ремен­ных плат­форм. Бес­плат­ной вер­сии хва­тит за гла­за и пен­тесте­ру‑оди­ноч­ке, и неболь­шой коман­де. Боль­шинс­тво фишек плат­ной вер­сии нуж­ны толь­ко на уров­не энтер­прай­за.

Для тес­та исполь­зуй, нап­ример, этот сер­вис, ими­тиру­ющий API , или похожий. Зарегис­три­руй­ся и сге­нери­руй ключ авто­риза­ции x-api-key .

От­крой Bruno. В интерфей­се сра­зу появит­ся пус­той зап­рос. Поменяй тип зап­роса на POST , ука­жи URL https:// api. restful-api. dev/ register . На вклад­ке Headers добавь заголо­вок x-api-key и свой токен. На прак­тике тебе понадо­бят­ся и дру­гие спо­собы авто­риза­ции; в Bruno они зада­ются на уров­не кол­лекции.

Пе­рей­ди на вклад­ку Body, выбери тип JSON и ука­жи в зна­чении объ­ект:

Жми Send, что­бы отпра­вить зап­рос и уви­деть резуль­тат.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

9990 рублей 5000 р.

950 р.

Исследуя старое приложение на Delphi, мы восстановим алгоритм шифрования, проанализируем р…

← Cybersecurity