KamoCRM

Короткі одноразові коди більше не можна вгадати без обмеження

FixSecurityService
Shipped
17 вересня 2026 р. о 04:48 UTC
Author
Kamo
Commit
357d3a0

Кожен короткометражний код адресної пошти або текстів було зареєстровано без підрахунку: - POST /api/recover/email/verify-код взяв код скидання 8-hex-character ALONE і підібрав його проти кожного Визначене скидання рахунку за 30 хвилин. Відповідність на будь-який рахунок стала сеансом відновлення для цього облікового запису. - POST /api/recover/sms/verify: 6-цифровий текстовий код для відомого числа, 10 хвилин, без підрахунку. - POST /api/recover/questions/verify та/seed/verify: Відповіді про безпеку (кольоровий, місто) та посівні фрази, не кількість. - POST /api/security/verify-email {userId, code}: 6-цифровий код, 24 години, без сеансу. Перші успіхи м'ятають автоматичний ключ в обліковий запис. - POST /api/account/phone/verify: 6-цифровий код, що підтверджує новий номер телефону відновлення, не кількість. - POST************************************************************************************************************************************************************************************************************************************************************* Він писав кількість а потім тягати, за замовчуванням @Замовити правило, закочував запис назад, а саму операцію контролера було позначений зворотний дзвінок. КодAttemptLimiter (Redis, виправлені вікна, підраховуючи BEFORE порівняння, так як паралельно здогадує, що не може перебігатися минуло): - 5 спроб за годину за предмет: рахунок, адреса заданий, номер телефону або код. Намагатися, що використовує п'ятий код (визначені рядки, позначені, вживані текстові коди, реєстраційні коди, недійсні, Код зміни телефону, що споживається. Успіх очищає тему. - 30 спроб за годину на адресу публічного клієнта, по всій території цих кінцевих точок. Приватні хміль пропускаються, так як одна проксі-адреса для всіх. - 50-разове скидання спроб на 10 хвилин, платформа-широта. Refusals - 429 з ретри-After і retryAfterSeconds в організмі. Лімітатор не відчинив на виході Redis, як ВвійтиПослуги та VerificationResendRateLimiter. Всі порівняння тепер постійні. Введіть номер мобільного, який Ви вказали при укладаннi договору з банком - для ідентифікації. Скинути сторінку, вирішивши шлях / електронну пошту/ініціати вирішує це) і перевірить тільки те, що скидання облікового запису. Невідомий Ця електронна адреса захищена від спам-ботів. Код-тільки форма все ще працює для сторінки входу, яка не розгортається але (kamo-login надсилає адресу в тій же змінній установці), що знаходиться на платформі. Методи, які записують, що неправильний код, який провів зараз, оголошують noRollbackFor. Коди відновлення MFA вже позаду ВвійтиТроттГат і 60 біт. Перевірити свій власний контроль за спробами. Тести: - CodeAttemptLimiterTest: вікна, п'ятий позначений останній, адресний бюджет, захоплений ключі, не відкриваються. - RecoveryCodeAttemptsTest: обов'язковий обліковий запис, витрачається на п'яту, відмова після того, як невідома адреса підрахунок, код-тільки все ще працює і працює, SMS, відповіді на безпеку. ****************************************************************************************************************************************************************************************************************************************************************************** - CodeAttemptWritesCommitTest: кожен метод через реальний TransactionInterceptor приймає свою відмову. - RecoveryAttemptsWireTest: адреса та IP досягають сервісу; 429 картографування на всіх трьох контролерах. Витратні мутанти (в середньому ліміті, витрати, обов'язки, бюджет і noRollbackFor вилучені) кожен невірний тест.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing