36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
Что бы начать api атаку, необходимо найти настолько много информации об api сервиса, насколько это возможно.
|
|
|
|
Для начала, тебе необходимо определить конечные точки API. Это место, куда API получает запросы к раздичным рессурсам на этом сервере. К примеру:
|
|
```http
|
|
GET /api/books HTTPS/1.1
|
|
Host: example.com
|
|
```
|
|
|
|
Конечная точка для этого запроса - `/api/books`. Этот запрос взаимодействует с API для получения списка книг из библиотеки. Другая точка API, к примеру, может запрашивать конкретные жанры книг.
|
|
|
|
Как только ты определил эндпоинты - нужно понять как взаимодействовать с ними. Они открывают для тебя возможность построить **HTTP** запрос для API тестирования.
|
|
К примеру ты сможешь получить:
|
|
1. Какие данные принимает API
|
|
2. Типы запросов, которые принимает API
|
|
3. Ограничения скорости и механизмы аутентификации
|
|
|
|
API практически всегда документриуется, что бы разработчики могли с ним взаимодействовать.
|
|
Документация может быть как и интерпритируемая человеком, так и читаемая только машиной.
|
|
|
|
## Изучение документации
|
|
|
|
Если документация не открыта, то ты можешь попробовать получить доступ к ней через сервис, который пользуется этим API.
|
|
К примеру, эти эндпоинты могут отсылать на документацию:
|
|
- `/api`
|
|
- `/swagger/index.html`
|
|
- `/openapi.json`
|
|
|
|
## Использование машинной документации
|
|
|
|
Утилиты для чтения документации и тестирование эндпоинтов:
|
|
**Burp Suite Scaner**
|
|
**OpenAPI Parser**
|
|
**Postman**
|
|
**SoapUI**
|
|
|