logo
 
?

интернет казино алгоритм

, решил поведать об одной истории с довольно известным за рекой онлайн-казино. процентов на 50 уверен, что или совсем не пофиксили, или сделали кривее, чем было до этого.

История очень похожа на взлом Егора, за исключением того, что это не совсем рэйс, вернее, совсем не race condition в чистом его виде.

Как оно будет полностью не знаю, я больше практик, чем теоретик.

Назовем его «conditional race condition» — хоть и масло масляное, но суть отражает верно. Сначала решил набросить себе немного «виртуальных» денег.

Как-то вечером, , как не банк какой-нибудь или казино (эго, необходимость иногда почувствовать себя крутым парнем, все дела в общем). Виртуальная валюта там не выводится (чисто поиграть — потренироваться).

Это было одно из первых онлайн-казино, которое мне тогда приглянулось в поиске. Можно было через paypal (10ct = 10V$), можно раз в день через капчу (20V$).

Не секрет, что экономят на программистах, тестировщиках и т.д. Я делаю временами аудиты, да и по роду деятельности такого иногда насмотришься, что волосы дыбом. С возможностью вывода (выигранных) вечнозеленых и т.д. При беглом просмотре страницы «покупки» (загрузив ее несколько раз) обнаружил там токен, привязанный ко времени (заметен инкремент по модулю 180), отправляющийся с капчей после нажатия «Order».

Вероятно в базу для моего аккаунта писался еще и datetime времени «покупки» (чтоб значит только раз в сутки), но нам оно сейчас без надобности.

Я хотел сначала попробовать чистый race (я не настолько глуп чтобы поверить про 3-и минуты, ну или 1.5 минуты если используют формулу со смещением), но у меня были сомнения, что нет даже нескольких миллисекунд, т.е.

с высокой долей вероятности этот токен скорее всего тоже помечался как использованный в DB, чтобы значит совсем «до завтра» (кстати, так оно и оказалось впоследствии).

В результате решил начать пробовать сразу со своего «условного рэйс».

Предположим, что токен пишется в базу int-ом (типа unixtime — т.е. В общем, тикль-джиэсный скрипт для «взлома» выглядел следующим образом: ...