Перерахування користувачів
Дві різні помилки повідомляють зловмиснику, які електронні листи справжні.
Що таке Перерахування користувачів?
Перелік користувачів — це ваша програма, яка підтверджує, які адреси мають облікові записи. Для цього потрібна одна помітна відмінність: інший рядок помилки, інший код стану, повільніша відповідь. Ви надішлете два тести для входу й отримаєте повідомлення «Обліковий запис не знайдено» проти «Неправильний пароль», а також проміжок затримки, оскільки bcrypt запускається лише тоді, коли є хеш для порівняння. Виправлення повертає одну загальну помилку та завжди запускає порівняння з фіксованим фіктивним хешем, коли користувача не існує. Реєстрація та скидання пароля дають однакову відповідь.
Що ви дізнаєтесь у Перерахування користувачів
- Визнайте, що будь-яка різниця між зареєстрованим і незареєстрованим кодовими шляхами (тіло помилки, код стану, затримка, побічний ефект) є оракулом перерахування
- Застосуйте уніфіковане виправлення помилок під час входу та переконайтеся, що безкористувацький шлях запускає ту саму вартість bcrypt, що й шлях існуючого користувача
- Зрозумійте, що хронометраж – це другий канал підрахунку, який виживає після виправлення тіла та має бути закритий за допомогою постійного часу резервування
- Перевірте кінцеві точки реєстрації та скидання пароля для однієї форми, обидві регулярно відрізняють зареєстровані від незареєстрованих у своїх відповідях щасливого шляху
- Підключіть перерахування до додавання облікових даних: фільтрація списку кандидатів за зареєстрованими електронними листами перетворює шумну розпилення на тиху кампанію з обмеженням швидкості
Перерахування користувачів — Кроки навчання
-
Список, який потребує фільтрації
Боб зберігає дамп пар електронної пошти та пароля від непов’язаного зламу. Більшість із цих людей ніколи не чули про Larksong, тому розпилення всього списку на сторінці входу буде повільним і шумним. Спочатку він хоче знати, які з цих електронних листів насправді є обліковими записами Larksong. Він відкриває сторінку входу Larksong у своєму браузері з готовими DevTools, щоб спостерігати, як вона реагує на невдалий вхід.
-
Спробуйте ввести незареєстровану електронну адресу
Боб починає з базової лінії. Він входить за допомогою адреси, яка майже напевно не має облікового запису Larksong, і одноразового пароля, і спостерігає, як відповідь потрапляє на панель мережі.
-
Базова відповідь
Форма показує помилку входу, а реальні деталі знаходяться на панелі «Мережа»: 401 із тілом відповіді та часом відповіді. Ось як виглядає невдалий вхід через незареєстровану електронну адресу. Боб зазначає це як базову лінію.
-
Спробуйте електронний лист, який він вважає справжнім
Тепер Боб повторює спробу з адресою зі свого дампа, яка, на його думку, належить справжньому слухачу, marcus.delgado@gmail.com, все ще з одноразовим паролем. Якщо кінцева точка трактує два випадки однаково, відповідь відповідатиме базовому рівню. Якщо ні, різниця становить весь приз.
-
Інша відповідь
Відповідь змінилася. Той самий неправильний пароль, але тіло відповіді інше. Боб ніколи не входив у систему, але кінцева точка входу щойно повідомила йому, що ця електронна адреса є справжнім обліковим записом Larksong.
-
Перевірте час відповіді
Формулювання одне слово. Панель «Мережа» містить другу, більш тиху: скільки часу тривав кожен запит.
-
Перевірка знань
Перш ніж Боб масштабує це, поясніть, чому реальний обліковий запис був набагато повільнішим.
-
Зберіть список
Боб спрямовує сценарій на кінцеву точку входу та надсилає йому кожен електронний лист зі свого дампа, по одному запиту на кожен. Щоразу, коли відповіддю є повільний IНевірний пароль , ця адреса потрапляє до його списку підтверджених. З 50 000 кандидатів 8 400 є справжніми обліковими записами Larksong. Тепер запуск облікових даних, який слідує, спрямований лише на цільові адреси, про існування яких він знає, тому він залишається невеликим, тихим і значно нижче обмежень швидкості, які вказують на сліпе розпилення.
-
Сигнал безпеки
Ви володієте службою входу Larksong. За ніч виявлення позначило дивний шаблон на кінцевій точці входу та надіслало вам повідомлення електронною поштою. Прочитайте, що він зловив, потім відкрийте код.
-
Відкрийте обробник входу
Маршрут входу знаходиться в службі авторизації. Відкрийте обробник і подивіться, як він вирішує, що надсилати назад, коли вхід не вдається.
Охоплення стандартів безпеки
OWASP Top 10
- A07:2025 Authentication Failures
- A07:2021 Identification and Authentication Failures
CWE
- CWE-204 Observable Response Discrepancy
- CWE-208 Observable Timing Discrepancy
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