Виявлення маркера в URL
Маркер сеансу в URL-адресі є обліковими даними у файлі журналу.
Що таке Виявлення маркера в URL?
Розміщення маркера сеансу в URL-адресі призводить до витоку значення, яке автентифікує того, хто його тримає. URL-адреси потрапляють у журнали доступу до сервера та CDN, історію веб-переглядача, розгортачі попереднього перегляду посилань і заголовок Referer , надісланий стороннім ресурсам. Ви збиратимете живі маркери з дампа реферера аналітики та читатимете приватні документи жертви без пароля. Потім ви переміщуєте маркер у заголовок Set-Cookie із HttpOnly , Secure і SameSite=Strict і оголошуєте недійсним кожен уже витік маркера, оскільки виправлення коду не анулює те, що зібрали зловмисники.
Що ви дізнаєтесь у Виявлення маркера в URL
- Визнайте, що будь-яке значення, яке зловмисник може відтворити для автентифікації користувача (маркер сеансу, ключ API, маркер скидання, параметр підписаної URL-адреси), належить до файлу cookie або заголовка, а не до URL-адреси
- Зрозумійте різницю в поверхні витоку між URL-адресами (реєструються, пересилаються, записуються багатьма сторонами) і файлами cookie (тільки канал веб-переглядач-сервер)
- Застосуйте шаблон файлів cookie HttpOnly + Secure + SameSite=Strict для маркерів сеансу та еквівалентних автентифікаторів
- Визнати недійсним кожен маркер сеансу, який уже просочився в журнали та реферери, оскільки виправлення коду не скасовує заднім числом маркери, які зловмисники вже зібрали
- Перевірте кожен генератор URL-адрес (вхід за допомогою магічного посилання, URL-адреси підписаного спільного доступу, маркери завантаження, URL-адреси для скидання пароля, зворотні виклики OAuth) на наявність автентифікаторів, які слід перемістити з URL-адреси
Виявлення маркера в URL — Кроки навчання
-
Спостерігайте за входом
Боб пробував Corveil, програму спільного робочого простору, у якій компанії запускають свої документи. Перш ніж шукати шлях, він хоче побачити, що саме робить програма, коли хтось входить. Він реєструє одноразовий обліковий запис, щоб він міг увійти як сам і стежити за кожним кроком. Він починається на сторінці входу.
-
Увійдіть і дотримуйтеся перенаправлення
Боб увійшов у свій одноразовий обліковий запис, як це зробив би будь-який користувач. Його менеджер паролів заповнює збережені облікові дані. Corveil вводить його в систему та перенаправляє на інформаційну панель робочої області. Браузер потрапляє на сторінку, на яку він його перенаправляє.
-
Маркер знаходиться в адресному рядку
Боб зараз на своїй інформаційній панелі, і йому щось спалахує: під час входу його маркер сеансу впав просто в URL-адресу. Цей один рядок — це весь сеанс, під час якого він увійшов у систему. Йому не потрібно нічого ламати. Йому просто потрібні місця, де накопичуються ці URL-адреси.
-
Збирайте журнали переходів
Боб ніколи не надсилає Corveil жодного шкідливого запиту. Замість цього він купує місячні журнали переходів у торговельного посередника аналітики, типу постачальника, тег відстеження якого знаходиться на інформаційній панелі Corveil і непомітно записує повну URL-адресу переходу кожного, хто його завантажує. Він відкриває термінал поруч із веб-переглядачем і видає greps, які подають посилання для входу на інформаційну панель.
-
Відтворити вкрадений сеанс
Боб вибирає зі смітника одну жертву, Майю Окафор, і забирає її токен сесії. Він спрямовує тестувальника API на API документів Corveil і переносить її викрадений маркер у заголовок Cookie, точно так само, як це зробив би її браузер. Якщо сервер приймає його, він читає особистий робочий простір Майї, навіть не знаючи її пароля.
-
Її сесія належить йому
Сервер прийняв викрадений токен як справжній логін і відповів. Зараз Боб читає особисті документи Майї за допомогою простого виклику API, не маючи власного облікового запису та пароля.
-
Перевірка знань
Боб може зробити це для тисяч користувачів одночасно, і все з журналів, які він купив. Уточніть, чому маркер в URL-адресі набагато гірший за звичайні дані в URL-адресі.
-
Сигнал безпеки
Ви володієте службою входу Corveil. За ніч виявлення позначило серію сеансів, які відтворювалися з незнайомих місць, і надіслало вам повідомлення електронною поштою. Прочитайте, що він зловив, потім відкрийте код.
-
Відкрийте обробник входу
Вам потрібно змінити обробник, який завершує вхід і перенаправляє користувача на його інформаційну панель. Відкрийте його та подивіться, як він створює перенаправлення.
-
Виявіть витік
Обробник створює новий сеанс, а потім вставляє його ідентифікатор прямо в рядок запиту цілі перенаправлення. Браузер переходить за цією 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