Codurile scurte nu mai pot fi ghicite fără limită

FixSecurityService
Expediere
17 septembrie 2026 la 04:48 UTC
Autor
Kamo
Comite
357d3a0

Fiecare cod scurt e-mailurile sau textele platformei au fost verificate fără număr: - POST /api/recover/email/verify-code a luat codul de resetare 8-hex-personaj SINGUR și meciuri cu fiecare Resetarea contului, pentru 30 de minute. Un meci pe orice cont a devenit o sesiune de recuperare pentru acel cont. - Post /api/recover/sms/verify: un cod textat cu 6 cifre pentru un număr cunoscut, 10 minute, fără număr. - POST /api/recoperă/recoperă/verifică și/semințe/verifică: răspunsuri de securitate (o culoare, un oraș) și fraze de semințe, fără număr. - POST /api/security/verify-email {userId, cod}: cod din 6 cifre, 24 ore, fără sesiune. Primul succes ments an Cheia automată în cont. - POST /api/cont/telefon/verifica: un cod din 6 cifre care dovedeste un nou numar de telefon de recuperare, nu conteaza. POST ***************** a avut o limită de cinci încercări care nu a intrat în vigoare. A scris contele. și apoi aruncat, regula implicită @Transacțional laminate scrie înapoi, și propria tranzacție a operatorului a fost Marcat numai rollback. CodeAttempLimiter (Redis, ferestre fixe, luate în considerare Înainte de comparație, atât de presupuneri paralele nu pot alerga dincolo de ea): - 5 încercări pe oră pe subiect: contul, adresa, numărul de telefon sau codul. Încercarea că utilizează al cincilea cheltuie codul (se resetează rândurile marcate utilizate, se consumă coduri text, se invalidează codurile de înregistrare; cod de schimb telefonic consumat). Un succes clarifică subiectul. - 30 de încercări pe oră pe adresă de client public, în toate aceste obiective. Sare privată sunt sărite, deoarece o adresă proxy ar fi pentru toată lumea. - 50 de încercări de resetare a codului doar pentru 10 minute, la nivel de platformă. Refuzurile sunt 429 cu Retry-After și retryAfterSeconds în corp. Limitatorul nu se deschide pe o pană Redis, cum ar fi LoginThrottleService and VerificationResendRateLimiter. Toate comparaţiile sunt acum constante. Codul de resetare este legat de un cont atunci când numele de cerere unu: verifica-cod acceptă pagina de resetare, a rezolvat modul /email/inițiere o rezolvă) și verifică doar resetarea contului. Un necunoscut. adresa se numără exact ca una cunoscută. Forma numai de cod încă funcționează pentru o pagină de autentificare care nu a implementat Cu toate acestea, (kamo-login trimite adresa în același set de modificări), în cadrul bugetului la nivel de platformă. Metode care scriu ceea ce un cod greșit cheltuit acum declara nici un RollbackFor. Codurile de recuperare ale MAE erau deja în urmă LoginThrottleGate și sunt 60 de biți. Verificarea telefonului Vonage impune propria limită de încercare. Teste: - CodeAttempLimiterTest: windows, the find, address and platforma bugete, hashed keys, fail-open. - Cod de recuperareTentativeTest: cont obligatoriu, cheltui pe al cincilea, refuz după, adresă necunoscută numărată, cod numai Încă funcţionează şi se termină, SMS, răspunsuri de securitate. - *************** - CodeAttempWritesCommitTest: fiecare metodă prin intermediul unui Interceptor de Tranzacţie real îşi comite refuzul. - RecoveryAttemptsWireTest: adresa și IP ajunge la serviciu; 429 cartografiere pe toate cele trei controlere. Doisprezece mutanţi (fiecare limită, cheltuieli, obligaţii, buget şi nici un rollbackFor eliminate) fiecare eşuează un test.

Toate modificările

Ca ceea ce vezi de transport maritim?

Toate acestea ajung în spațiul de lucru pe cont propriu. Începeți cu planul gratuit și citiți această pagină din nou într-o lună.

Pornește gratuit pentru totdeaunaVezi prețurile