Фіксація сесії

Фіксація сесії

Зловмисник знав ідентифікатор сеансу ще до того, як ви ввійшли.

Що таке Фіксація сесії?

Фіксація та викрадення відрізняються тим, коли зловмисник отримує ідентифікатор сеансу. Викрадач викрадає його після вашої автентифікації. Фіксація встановлює відоме значення раніше та дозволяє вашому власному входу оновити його. Ви закріпите живий анонімний ідентифікатор у посиланні, спостерігатимете, як жертва ввійде, і завантажите на її інформаційну панель той самий рядок. Обробник читає const sid = req.cookies.sid || crypto.randomUUID() . Виправлення безумовно створює новий ідентифікатор під час кожного переходу автентифікації та привілеїв, тому entropy та HttpOnly не закривають це.

Що ви дізнаєтесь у Фіксація сесії

Фіксація сесії — Кроки навчання

  1. План Боба

    Боб не може вкрасти пароль Аліси, і йому це не потрібно. Його план полягає в тому, щоб передати їй ідентифікатор сеансу, який він уже знає, а потім дозволити їй увійти в систему поверх нього, щоб сеанс, на якому вона закінчила автентифікацію, був під контролем нього. Для початку йому потрібен ідентифікатор сеансу. Він сам відкриває портал Sundermark Logistics, і цей застарілий портал передає його браузеру анонімний ідентифікатор сеансу та відтворює його просто в адресному рядку як значення ?sid , як і будь-який відвідувач.

  2. Дійсний ідентифікатор сеансу для встановлення

    Боб відкриває інспектор файлів cookie у веб-переглядачі. Портал уже передав йому ідентифікатор сеансу, перш ніж він увійшов або зробив щось. Це анонімно, але це справжня цінність, яку видав сервер і буде шанувати. Саме такий ідентифікатор він підсадить Алісі.

  3. Озброїти його в посилання

    Бобу не потрібно нічого будувати. Ідентифікатор сеансу, який йому надав сервер, уже прикріплений до адреси як ?sid=SID-9F3A2B1C7D , і портал має застарілу примху: він копіює цей sid прямо з URL-адреси в файл cookie відвідувача. Отже, це точне посилання є пасткою. Кожен, кому Боб надсилає його, отримує свій ідентифікатор сеансу в файл cookie, щойно він його відкриває.

  4. Надішліть пастку Алісі

    Боб націлюється на Алісу, співробітницю, обліковий запис на порталі якої він хоче. Він відкриває свою електронну пошту та пише їй повідомлення, оформлене як звичайне сповіщення про доступ до ІТ, із тим самим посиланням на ідентифікатор сеансу в тілі. Йому потрібно лише, щоб вона відкрила його та ввійшла.

  5. Повідомлення про регулярний доступ

    У неробочий час Аліса отримує електронний лист, який читається як ІТ-господарство: підтвердьте доступ до порталу до кінця дня. Посилання вказує на справжній портал, тому нічого не вискакує.

  6. Один клік передає файл cookie

    Аліса натискає на посилання. Відкривається справжня сторінка входу на порталі, як і очікувалося. Чого вона не бачить: портал щойно скопіював sid із посилання в її банку з печивом. Тепер її браузер містить ідентифікатор сеансу Боба.

  7. Аліса входить

    Аліса входить, використовуючи свої облікові дані Sundermark, як було запропоновано в повідомленні. Портал вітає її та кидає на панель приладів. Нічого не виглядає погано. Її рахунок, її реквізити, її сесія.

  8. Ідентифікатор, який мав змінитися

    Ось недолік, став видимим. Безпечний вхід створює абсолютно новий ідентифікатор сеансу під час автентифікації, тому ідентифікатор, який ви носили, викидається. Ідентифікатор Аліси не змінився. Файл cookie на її автентифікованій інформаційній панелі — це побайтове значення, яке міститься в надісланому електронною поштою посиланні, значення, яке вклав Боб.

  9. Боб оновлює її обліковий запис

    У Боба все ще відкрита сторінка входу в його браузері, ту, яку він завантажив зі своїм встановленим ідентифікатором сеансу. Через хвилину після входу Аліси він просто оновлює його. Його встановлений ідентифікатор тепер прив’язаний до її автентифікованого сеансу, тому портал сприймає його запит як її та перенаправляє його прямо на її інформаційну панель. Ні паролів, ні крадіжок, ні шкідливих програм.

  10. Назвіть, що сталося

    Перш ніж Аліса перейде з жертви на інженера, уточніть атаку.

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

OWASP Top 10

  • A07:2025 Authentication Failures
  • A07:2021 Identification and Authentication Failures

CWE

  • CWE-384 Session Fixation
  • CWE-613 Insufficient Session Expiration

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