SSRF (Server-Side Request Forgery) це вразливість, коли атакуючий змушує ваш сервер зробити запит за адресою, яку сам вказав. Небезпека в тому, що сервер стоїть усередині вашої мережі й має доступ туди, куди атакуючий ззовні достукатись не може. Це CWE-918, окрема категорія A10 в OWASP Top 10.

Як це зустрічається на практиці

Типовий вхід це зручна функція «завантажити файл за посиланням»: користувач дає URL, сервер іде за ним і приносить вміст. Замість картинки атакуючий вписує внутрішню адресу.

Приклад

У хмарі (AWS, GCP, Azure) за адресою 169.254.169.254 лежить службовий довідник машини, а в ньому тимчасові ключі доступу до всього хмарного акаунта. Ця адреса відповідає тільки зсередини самої машини:

Ваш сервер слухняно йде туди й повертає ключі атакуючому. Саме так у 2019 з Capital One забрали дані близько ста мільйонів людей.

Як захиститись

  • Не ходіть за довільним URL від користувача, тільки білий список доменів
  • Блокуйте приватні діапазони IP і перевіряйте адресу ПІСЛЯ резолву DNS
  • Увімкніть IMDSv2 у налаштуваннях хмари