API, Bug Bounty, Bug Hunting, Rest API

#27 Bug Bounty v.2 — Тестирование API. Rest API

Здравствуйте, дорогие друзья.

Когда-то приложения создавались с использованием одного языка, такого как PHP, но архитектура современных приложений, как правило, выглядит немного по-другому. Большинство современных приложений разделены на две части: интерфейс и серверную часть, как показано ниже:

современные приложения разделены на две части: интерфейс и серверную часть

Как упоминалось ранее, приложение разделено на интерфейс и серверную часть.

Интерфейс — это веб-интерфейс, который вы видите в своем браузере, обычно он написан на современном javascript-фреймворке, таком как ReactJS или AngularJS. Серверная часть — это API, и она может быть написана на нескольких языках.

современные приложения разделены на две части: интерфейс и серверную часть

При работе с приложениями такого типа вам необходимо знать определенные вещи и ознакомиться с ними, если вы хотите добиться успеха. Существует несколько типов API, и каждый из них немного отличается, поэтому, прежде чем приступить к взлому API, вам необходимо понять несколько вещей.

API

Rest API

Если вы заметите, что приложение обращается к серверному API 9/10 раз, это будет REST API интерфейс прикладного программирования. Пример запроса в Burp к REST API может выглядеть примерно так, как показано на рисунке ниже:

Пример запроса в Burp к REST API может выглядеть примерно так

При просмотре этого запроса первым признаком, указывающим на то, что это запрос к REST API, является тот факт, что данные запроса представляют собой строку JSON. Строки JSON широко используются в REST API. Другим признаком является то, что приложение отправляет запрос PUT. Метод PUT является одним из нескольких HTTP-методов, связанных с REST API, как показано в таблице ниже:

HTTP-методы, связанные с REST API
HTTP-методы, связанные с REST API

Теперь, когда вы знаете эту информацию, вы можете сказать, что предыдущий запрос PUT в Burp обновлял “param1” и присваивал ему значение “value1”. Еще один признак того, что вы имеете дело с REST API, — это когда HTTP-ответ содержит MIME-тип JSON, как показано в приведенных ниже запросах Burp:

Еще один признак того, что вы имеете дело с REST API, - это когда HTTP-ответ содержит MIME-тип JSON, как показано в приведенных ниже запросах Burp

Как упоминалось ранее, подавляющее большинство REST API используют JSON, поэтому, если вы получите ответ в формате JSON, вы, вероятно, имеете дело с REST API.

На этом все. Всем хорошего дня!

Цикл статей по Bug Bounty.