Ін'єкція заголовка хосту

Ін'єкція заголовка хосту

Скинутий електронний лист справжній. Посилання в ньому не ваше.

Що таке Ін'єкція заголовка хосту?

Програми створюють посилання для скидання пароля із заголовка Host або X-Forwarded-Host вхідного запиту, що дозволяє запитувачу вирішувати, куди вони вказують. Ви перебудуєте запит на скидання за допомогою схожого домену в X-Forwarded-Host , дозволите програмі надіслати поштою справжній маркер за вашим посиланням і відтворите його протягом терміну служби, щоб отримати обліковий запис. Потім ви створюєте основну URL-адресу з налаштованого APP_BASE_URL , а не з даних запиту, що підтримується списком дозволених хостів на проксі. Така сама форма ховається в підписаних URL-адресах завантаження та ключах кешу.

Що ви дізнаєтесь у Ін'єкція заголовка хосту

Ін'єкція заголовка хосту — Кроки навчання

  1. Використовуйте функцію скидання

    Боб шукає облікові записи Verdanta. Це додаток для особистих фінансів, тож кожен обліковий запис, який він бере, пов’язаний безпосередньо з чиїмось справжнім банківським балансом. Він не знає нічиїх паролів, тому починає там, де він йому не потрібен: сторінку із забутим паролем. Спочатку він надсилає його з власною одноразовою адресою, щоб він міг точно спостерігати, який запит робить сторінка.

  2. Знайдіть кінцеву точку

    Запит вийшов, і браузер його зафіксував. Боб відкриває панель «Мережа», щоб прочитати, куди сторінка його насправді надіслала.

  3. Прочитайте схему тіла

    Один запит, і він скаже Бобу все, що йому потрібно. Він перевіряє, що сторінка розмістила в тілі запиту.

  4. Підробити запит на скидання

    Боб перебудовує той самий запит у API Tester, де він може додати одну річ, яку форма браузера ніколи не дозволяє йому встановити: підроблений заголовок хосту. Він просить скинути налаштування справжнього облікового запису Аліси, але повідомляє додатку, що запит надійшов на account-verdanta.app, схожий домен, який він зареєстрував і контролює (зверніть увагу на .app, де справжній сайт Verdanta — account.verdanta.com). Якщо програма створить посилання для скидання із заголовка, електронна пошта Аліси міститиме його домен і її справжній маркер.

  5. Відповідь нічого не видає

    API відповідає звичайним 200 і загальним повідомленням. Ніщо у відповіді не натякає на те, що щось пішло не так, саме тому ця помилка тиха. Пошкодження не у відповіді, яку бачить Боб. Він міститься в електронному листі, який зараз знаходиться в папці «Вхідні» Аліси, і містить посилання, яке починається з його домену.

  6. Електронний лист для зміни пароля

    У неробочий час Аліса отримує електронний лист для скидання пароля від Verdanta. Вона не просила його, але воно виглядає як справжнє: той самий відправник, те саме формулювання, той самий макет.

  7. Натисніть посилання скидання

    Аліса натискає посилання, щоб скинути свій пароль, як і будь-хто.

  8. Подивіться на адресний рядок

    Відкриється сторінка скидання. Це виглядає як Verdanta, але адресний рядок розповідає іншу історію.

  9. Ловіть токен

    Клацання Аліси так і не досягло Верданти. Її браузер відкрив account-verdanta.app, сервер, яким керує Боб, і в URL-адресі з’явився маркер скидання. Повернувшись на власну машину, Боб стежить за журналом доступу до цього сервера, щоб зафіксувати те, що щойно надійшло.

  10. Відтворити маркер

    Жетони належать Алісі, але зараз вони в руках Боба, і токенам скидання байдуже, хто їх дарує. Перед закінченням терміну дії він відтворює його проти реальної кінцевої точки та встановлює пароль на власний вибір.

Охоплення стандартів безпеки

OWASP Top 10

  • A02:2025 Security Misconfiguration
  • A05:2021 Security Misconfiguration

CWE

  • CWE-644 Improper Neutralization of HTTP Headers for Scripting Syntax
  • CWE-640 Weak Password Recovery Mechanism for Forgotten Password

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