169 похожих чатов

Гайз, надо 4 значные пин коды генерить. Обращал внимание, что

некоторые банки всегда присылают коды, которые легко запомнить и часто легко набирать на клаве.
Есть какие то правила по которым такие коды генерятся, или либа готовая, кто нить сталкивался?

17 ответов

20 просмотров

Из-за такой фигни недавно Apple "поломали", а вы себе теперь повторяете...

Константин-Грачев Автор вопроса

есть линк?

https://thezerohack.com/apple-vulnerability-bug-bounty https://thezerohack.com/how-i-might-have-hacked-any-microsoft-account

Константин-Грачев Автор вопроса

Спасибо, что-то я на второй половине статьи уже поплыл) Я так понял сервер принимал бесконечное количество попыток, ограничения были только на уровне подключения к серверу, а не на уровне запроса операции от которой был код. Я как раз хотел присваивать запросу ид, и ограничить его количеством попыток

Не так. У Епла ограниченное количество попыток на одну операцию. Т.е. привязка к операции есть и проверка по ней осуществляется, но автор дырки по сути эксплуатирует race condition, отправляя запросы одномоментно. Устранить эту дырку можно только обернув весь код проверки в распределённую транзакцию с гарантией согласлованности данных. Из статьи: As for as my testing, the forgot password endpoint had pretty strong rate limits. If we enter more than 5 attempts, our account will be locked for the next few hours, even rotating the IP didn’t help. Then I tried for race hazard based brute forcing by sending simultaneous POST requests to apple server and found a few more limitations.

И что из этого следует? Не использовать пин-коды вообще? Не использовать короткие пин-коды?

Константин-Грачев Автор вопроса

Так а смысл ограничивать количество попыток на операцию, если на стороне сервера нет shared lock по id операции?

Есть мнение, что если банки себе 4-значные пины позволяют, то, наверно, и Константину сойдёт

Константин-Грачев Автор вопроса

эм. docker run -d redis composer req symfony/lock (new LockFactory)->createLock($id)->acuire()

А они и были, только, насколько мне известно, мало ими пользовались

Это не удивительно учитывая массовую дезинформацию людей включая само государство

Но это оффтоп и на этом я завершу

Ну началась политота...

Хорошо, если у тебя редис только один и только на одном ядре процессора.

Хотя и с одним инстансом редиса реализация локов без использования специализированных инструкций редиса (которые появились относительно недавно) вызывала проблемы. Об этом, кажется, Максим говорил.

Константин-Грачев Автор вопроса

нагрузки у меня нет, и вряд ли будет на эти коды)

банки балансируют между удобством и безопасностью, впрочем не только банки

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта