API, Bug Bounty, Bug Hunting, Simple Object Access Protocol (SOAP)

#29 Bug Bounty v.2 — Тестирование API. Simple Object Access Protocol (SOAP)

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

В предыдущем разделе я упоминал RPC API, в частности, я говорил о так называемом XMLRPC. Вы можете рассматривать SOAP API как более продвинутую версию XMLRPC. Они оба очень похожи тем, что используют XML для кодирования и HTTP для передачи сообщений. Однако SOAP API, как правило, немного сложнее, как показано в приведенном ниже запросе:

SOAP API

В отличие от запроса XMLRPC, который представляет собой просто большой двоичный файл данных в формате XML, запрос SOAP немного более структурирован, и для отправки запроса SOAP вы должны следовать этой структуре. Пример формата SOAP можно найти ниже:

Пример формата SOAP

Как вы можете видеть, сообщение сначала упаковывается в тег “<soapenv:Envelope>”, который содержит теги заголовка и основной части. Это значение может быть использовано как индикатор того, что вы имеете дело с SOAP API, поэтому обратите внимание на эту строку. Часть заголовка необязательна и используется для хранения значений, связанных с аутентификацией, сложными типами и другой информацией о самом сообщении. Текст — это часть XML-документа, которая фактически содержит наше сообщение, как показано в примере ниже:

<soapenv:Body>

<web:GetCitiesByCountry>

<!—type: string—>

<web:CountryName>gero et</web:CountryName>

</web:GetCitiesByCountry>

<soapenv:Body>

Как вы можете видеть из приведенного выше текста SOAP, мы вызываем метод с именем “GetCitiesByCountry” и передаем в качестве аргумента “countryName” строковое значение “gero et”.

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

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