init
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
**Server-side request forgery (SSRF)(подделка запроса)**-уязвимость, которая открывает возможность выполнения на стороне сервиса запросы в непреднамеренное место.
|
||||
Во время типичной атаки, атакующий может заставить сервер подключиться к внутренним серверам в инфраструктуре организации. В другом случае, атакующий заставляет подключаться к произвольным внешним сервисам, что может привести к утечке данных.
|
||||
|
||||
## **SSRF** атака на сервера
|
||||
|
||||
При **SSRF** атаке на сервера, задача атакующего создать запрос назад к серверу, на котором находиться сервис, с помощью **Loopback network interface** (виртуальная сеть, позволяющая серверу взаимодействовать **самому с собой**).
|
||||
|
||||
Это обычно включает в себя подставку ссылки вида `127.0.0.1` или `localhost`.
|
||||
|
||||
Например, представим себе сервис, который позволяет смотреть, в наличии ли товар в выбранном магазине. Что бы получить информацию, приложение должно сделать запрос через различные `Rest APIs`. Оно делает это путем подстановки ссылки в релевантный `API` эндпоинт с помощью `HTTP` запроса с фронта сайта. Когда юзер видит статус о наличии, браузер создает такой запрос:
|
||||
```http
|
||||
POST /product/stock HTTP/1.0
|
||||
Content-Type: application/x-www-form-urlencoded Content-Length: 118 stockApi=http://stock.weliketoshop.net:8080/product/stock/check%3FproductId%3D6%26storeId%3D1
|
||||
```
|
||||
|
||||
Это позволяет серверу сделать запрос к конкретной ссылке, получив и вернув пользователю статус.
|
||||
В данном случае, атакующий может заменить строчку `stokApi` :
|
||||
```http
|
||||
POST /product/stock HTTP/1.0
|
||||
Content-Type: application/x-www-form-urlencoded Content-Length: 118 stockApi=http://localhost/admin
|
||||
```
|
||||
|
||||
## **SSRF** атака через другие backend системы
|
||||
|
||||
В большинстве случаев, сервер сервиса меет возможность взаимодействовать с **backend** системы, которые напрямую не доступны пользователям. Такие системы обычно имеют не-маршрутизируемые приватные **IP** адресы. Back-end системы обычно защищены сетевой топологией, которые часто имеют уязвимости.
|
||||
|
||||
Представим, что в прошлом примере панель администратора быда на приватном **IP**
|
||||
|
||||
```http
|
||||
POST /product/stock HTTP/1.0
|
||||
Content-Type: application/x-www-form-urlencoded Content-Length: 118 stockApi=http://192.168.0.68/admin
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user