Порушена автентифікація користувача

Порушена автентифікація користувача

6-значний код є лише секретом, а припущення обмежені.

Що таке Порушена автентифікація користувача?

Кінцева точка може правильно перевіряти облікові дані, але ніколи не захищати перевірку від автоматизації: немає обмежень на спроби, немає блокування, немає обмеження швидкості. Коли облікові дані є 6-значним кодом, зловмисник проходить весь простір по одному запиту за раз. Ви почнете вхід, зберігаючи лише адресу електронної пошти цільового користувача, спостерігаєте, як неправильний код відповідає 200, нічого не враховуючи, а потім створіть сценарій свого шляху до живого сеансу. Виправлення відстежує невдалі спроби в стані на стороні сервера, повертає 429 при обмеженні, споживає код під час збігу та зберігає термін дії коротким.

Що ви дізнаєтесь у Порушена автентифікація користувача

Порушена автентифікація користувача — Кроки навчання

  1. Один код стоїть на варті

    Kelvo — це споживча грошова програма, яка вводить людей у систему за допомогою 6-значного коду, який надсилається електронною поштою на їх адресу, без пароля. Введіть свою електронну пошту, Kelvo надішле код, ви введете його назад, ви ввійшли. У Боба немає коду. Зі зламаного списку розсилки він має електронну адресу одного клієнта: renata.voss@gmail.com.. Він відкриває сторінку входу Kelvo, щоб побачити, з чим саме він стикається.

  2. Активуйте код

    Боб починає вхід для цільового облікового запису. Він набирає електронну пошту жертви та просить Келво надіслати код. Код потрапляє у папку «Вхідні» Ренати, а не його, але Келво тепер показує йому екран із запитом про це. Далі він вивчає цей екран і запит, що стоїть за ним.

  3. Дивіться запит

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

  4. Кінцева точка на очах

    Браузер Боба надіслав код до API Kelvo, а мережева панель зафіксувала весь запит. Це дає йому єдине, що йому потрібно для атаки без екрану: точну кінцеву точку, яка перевіряє коди.

  5. Сценарій грубої сили

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

  6. Як працює цикл

    Вся атака — жменька рядків. Розгляньте, що робить кожна частина, і чому ніщо на вразливому сервері не зупиняє її.

  7. Пройдіть кожен код

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

  8. Код, який працює

    Сценарій запустився без протидії та знайшов код, який приймає сервер.

  9. Використовуйте код

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

  10. Жива сесія, із шести цифр

    Кінцева точка прийняла вгаданий код і повернула реальний сеанс.

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

OWASP API Top 10

  • API2:2023 Broken Authentication

CWE

  • CWE-287 Improper Authentication
  • CWE-307 Improper Restriction of Excessive Authentication Attempts

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