- Szycy
- 17 września 2026 04:48 UTC
- Autor
- Kamo
- Pochęt się
- 357d3a0
Każdy krótki kod, który wysyłał lub SMS-y platformy, był sprawdzany bez żadnych danych: - POST /api/recover/email/weryfikacja-kod wziął 8-hex-character reset code ALONE i dopasował go do każdego Zaległy reset konta, na 30 minut. Mecz na każdym koncie stał się sesją odzyskiwania dla tego konta. - POST /api/recover/sms/verify: 6-cyfrowy kod tekstowy dla znanej liczby, 10 minut, bez liczenia. - POST /api/recover/questions/verify i /seed/verify: odpowiedzi bezpieczeństwa (kolor, miasto) i zwroty nasion, bez liczenia. - POST /api/security/verify-email, kod: 6-cyfrowy kod, 24 godziny, sesja. Pierwszy sukces miranuje a Auto-log klawisz na konto. - POST /api/konto/telefon/weryfikowanie: 6-cyfrowy kod potwierdzający nowy numer telefonu do odzyskiwania, bez liczenia. - POST - miał limit pięciu prób, który nigdy nie wszedł w życie. Napisała liczenie A następnie rzucił domyślną regułą transaktywną, która odwróciła odpis, a własna transakcja kontrolera była Oznaczone odwrotne tylko. CodeAtempttemptLimiter (Redis, stałe okna, policzkowane PRZED porównaniem, więc równoległe domysły nie mogą się przerośnić): - 5 prób na godzinę na temat: konto, wredny adres, numer telefonu lub kod. Próba, która jest używa piątego wydatkowanego kodu (resetowane wiersze oznaczone, zużyte kody tekstowe, kody rejestracyjne unieważnione, Zużyty kod wymiany telefonu). Sukces usuwa ten temat. - 30 prób na godzinę na adres klienta publicznego, we wszystkich tych punktach końcowych. Prywatne chmiecze są pomijane, ponieważ Pojedynczy adres pełnomocnika oznaczałby dla wszystkich. - 50 prób resetowania kodu na 10 minut, w całej platformie. Odmowy to 429 z Retest-After i retryAfterSeconds w ciele. Ogranicznik otwiera się na awarię Redis, jak LoginThrottleService i VerificationsendRateLimiter. Wszystkie porównania są teraz stałe. Kod resetowania jest związany z kontem, gdy żądanie nazywa jedno: sprawdź kod akceptuje "email" (numer wpisany Strona resetowania, rozwiązana sposób /email/inicjowanie jej rozwiązuje) i sprawdza tylko resetowanie tego konta. Nieznany Adres jest liczony dokładnie tak, jak znany. Kształt kodu nadal działa na stronę logowania, która nie została wdrożona Jeszcze nie (kamo-login wysyła adres w tym samym zestawie zmian), w ramach budżetu całej platformy. Metody, które piszą, co wydał zły kod, teraz deklarują noRollbackFor. Kody odzyskiwania MFA już były zaległe LoginThrottleGate i 60 bitów. Sprawdzenie telefonu Vonage egzekwuje własny limit prób. Testy: CodeAtemptLimiterTest: okna, piąty oznaczony ostatni, budżety adresowe i platformy, klucze hashed, fail-open. - RecoveryCodeAtemptsTest: konto wiążące, wydatki na piątą, odmowę po, nieznany adres liczony, tylko kod Nadal działa i ucieka, SMS, odpowiedzi na bezpieczeństwo. - ;) CodeAtemptWritesTest: każda metoda za pośrednictwem rzeczywistej TransactionInterceptor zobowiązuje się do odmowy. - RecoveryAtemptsWireTest: adres i adres i adres docierają do usługi; 429 mapowanie na wszystkich trzech kontrolerach. Dwunastu mutantów (każdy limit, wydatki, wiążący, budżet i noRollbackFor usunięty) z każdym nie udaje się testu.