Розкриття токена в URL

Розкриття токена в URL

Токен сесії в URL — це облікові дані у файлі журналу.

Що таке Розкриття токена в URL?

Токен сесії в URL — це витік значення, яке автентифікує будь-кого, хто його має. URL потрапляють у журнали доступу сервера та CDN, в історію браузера, у сервіси попереднього перегляду посилань і в заголовок Referer , який отримують сторонні ресурси. Ви зберете чинні токени з аналітичного дампа реферерів і прочитаєте приватні документи жертви без жодного пароля. Потім перенесете токен у заголовок Set-Cookie з атрибутами HttpOnly , Secure і SameSite=Strict та анулюєте кожен токен, що вже витік, бо виправлення коду не відкликає те, що зібрали зловмисники.

Що ви дізнаєтесь у Розкриття токена в URL

Розкриття токена в URL — Кроки навчання

  1. Простежте за входом

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

  2. Увійдіть і перейдіть за перенаправленням

    Боб входить в одноразовий обліковий запис так само, як будь-який користувач. Менеджер паролів підставляє збережені облікові дані. Corveil пускає його в систему й перенаправляє на панель робочого простору. Браузер відкриває сторінку, на яку його спрямовано.

  3. Токен в адресному рядку

    Боб тепер на своїй панелі, і йому впадає в око одна деталь: під час входу токен його сесії потрапив прямо в URL. Цей єдиний рядок — уся його сесія після входу. Нічого зламувати Бобові не треба. Йому потрібні лише місця, де накопичуються такі URL.

  4. Зберіть журнали реферерів

    Боб не надсилає Corveil жодного шкідливого запиту. Натомість він купує журнали реферерів за місяць у перепродавця аналітичних даних — постачальника, чий тег відстеження стоїть на панелі Corveil і непомітно записує повний URL реферера кожного, хто завантажує цю панель. Боб відкриває термінал поруч із браузером і шукає в цьому потоці посилання для входу на панель командою grep.

  5. Повторно використайте викрадену сесію

    Боб вибирає з цього потоку одну жертву, Маю Окафор, і бере її токен сесії. Він спрямовує програму API Tester («Тестер API») на API документів Corveil і передає викрадений токен у заголовку Cookie, точно так, як це робив би її браузер. Якщо сервер прийме токен, Боб читатиме приватний робочий простір Маї, так і не дізнавшись її пароля.

  6. Її сесія стала його

    Сервер сприйняв викрадений токен за справжній вхід і відповів. Тепер Боб читає приватні документи Маї звичайним викликом API, не маючи ні власного облікового запису, ні пароля. Те саме Боб може зробити з тисячами користувачів одночасно, і все це з журналів, які він купив. Розберіться точно, чому токен в URL набагато небезпечніший за звичайні дані в URL.

  7. Перевірка знань

  8. Сповіщення системи безпеки

    Ви відповідаєте за сервіс входу Corveil. Уночі система виявлення позначила низку сесій, які повторно використовували з незнайомих місць, і надіслала вам результат листом. Прочитайте, що вона виявила, а потім відкрийте код.

  9. Відкрийте обробник входу

    Вам потрібно змінити обробник, який завершує вхід і перенаправляє користувача на його панель. Відкрийте обробник і подивіться, як він формує перенаправлення.

  10. Знайдіть витік

    Обробник створює нову сесію, а потім вставляє її ідентифікатор прямо в рядок запиту адреси, на яку перенаправляє. Браузер переходить за цим URL, і відтоді токен опиняється всюди, куди потрапляє адреса.

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

OWASP Top 10

  • A07:2025 Authentication Failures
  • A09:2025 Security Logging and Alerting Failures
  • A07:2021 Identification and Authentication Failures
  • A09:2021 Security Logging and Monitoring Failures

CWE

  • CWE-598 Use of GET Request Method With Sensitive Query Strings
  • CWE-532 Insertion of Sensitive Information into Log File

MITRE ATT&CK

  • T1539 Steal Web Session Cookie

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