Підробка запитів на стороні сервера
Змусьте сервер отримати те, що ви не можете отримати самі.
Що таке Підробка запитів на стороні сервера?
Програма отримує URL-адресу, надану користувачем, і ніхто не перевіряє, куди вона вказує. Цей запит надходить із вашої власної мережі, тому зловмисник успадковує позицію сервера. Ви налаштуєте функцію попереднього перегляду посилань у хмарну службу метаданих на її фіксовану локальну адресу посилання, зчитаєте облікові дані підключеної ролі екземпляра та розмістите разом із ними список магазину, повного рахунків-фактур клієнтів. Потім ви вирішуєте хост і відмовляєтеся від приватних, петлевих і локальних діапазонів посилань, повторно перевіряючи після переспрямувань, із метаданими, необхідними для маркерів (IMDSv2) і ролями з найменшими привілеями.
Що ви дізнаєтесь у Підробка запитів на стороні сервера
- Поясніть підробку запитів на стороні сервера: програма, яка отримує URL-адресу, надану користувачем, дозволяє зловмиснику змусити сервер отримати доступ до систем, до яких зловмисник не може отримати доступ безпосередньо
- Розпізнати хмарну службу метаданих за адресою 169.254.169.254 як кінцеву точку видачі облікових даних, до якої SSRF може отримати доступ, навіть якщо зовнішній зловмисник не може
- Простежте, як безпечна функція попереднього перегляду посилань перетворюється на повний ланцюжок крадіжки облікових даних і викрадання даних, коли місце призначення ніколи не перевіряється
- Відрізнити перевірку цільового призначення (вирішити хост, заборонити приватні та локальні діапазони посилань, повторна перевірка після перенаправлення) від крихких списків блокування рядків і пояснити, чому тільки перший зберігається
- Поєднайте виправлення коду з глибоким захистом: метадані екземпляра, необхідні для маркерів (IMDSv2), ролі екземплярів із найменшими привілеями та сповіщення про те, що робочий засіб вибірки торкається конфіденційного сховища
Підробка запитів на стороні сервера — Кроки навчання
-
Функція попереднього перегляду
Corveil дозволяє будь-кому вставити посилання та отримати охайну картку попереднього перегляду, назву сторінки та зображення, готові до розміщення в повідомленні. Попередній перегляд не вбудований у браузер: власні сервери Corveil отримують посилання. Боб відкриває функцію, щоб побачити, як вона працює, перш ніж торкнутися її.
-
Звідки надходить запит
Одна деталь на цій сторінці — причина, чому Боб зацікавлений.
-
Використовуйте функцію
Слідкуйте за нормальною поведінкою функції. Вставте звичайну статтю новин і створіть попередній перегляд, щоб сторінка надсилала реальний запит, який Боб міг перевірити.
-
Знайдіть кінцеву точку
Запит вийшов, і браузер його зафіксував. Відкрийте панель «Мережа» та прочитайте, куди сторінка насправді його надіслала.
-
Направте його всередину
Боб перебудовує цей запит у API Tester, щоб він міг направити url куди завгодно. І сервер отримає будь-яку адресу, яку він йому надасть, навіть ту, до якої він сам ніколи не зможе дістатися. Кожен хмарний сервер має службу метаданих за фіксованою внутрішньою адресою, яка передає облікові дані ролі, прикріпленої до цього сервера. Він призначений для власного використання сервером і ніколи не перевіряє, хто запитує. Бобу просто потрібен робочий попередній перегляд Corveil, щоб отримати його для нього.
-
Відкрийте службу метаданих
Перебудуйте запит попереднього перегляду в API Tester, але вкажіть url на шлях облікових даних метаданих замість статті новин. Працівник Corveil отримує його з мережі та повертає все, що отримує.
-
Вірчі грамоти в руках
Відповідь не є попереднім переглядом. Це набір активних облікових даних для хмарної ролі працівника попереднього перегляду.
-
Підпишіть заявку вкраденим ключем
Внутрішнє сховище Corveil довіряє підписаному запиту. Боб підписує один за допомогою AccessKeyId , який він щойно отримав із служби метаданих, і перераховує відро, у якому зберігаються рахунки клієнтів, місце, до якого зазвичай не може дістатися сторонній користувач.
-
Дані зникли
Імена, суми та ідентифікатори рахунків-фактур, понад сорок тисяч записів клієнтів, доступні за допомогою функції попереднього перегляду за посиланням.
-
Перевірка знань
Ви щойно спостерігали, як функція попереднього перегляду посилань витоку облікових даних сервера, а потім і його даних. Зафіксуйте чому.
Охоплення стандартів безпеки
OWASP Top 10
- A01:2025 Broken Access Control
- A10:2021 Server-Side Request Forgery (SSRF)
CWE
- CWE-918 Server-Side Request Forgery (SSRF)
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security