Мы используем cookies, для того чтобы улучшить работу сайта, продолжая использовать веб-сайт, вы принимаете использование cookies.

Для изменения настроек или получения более подробной информации о cookies, см Информация Cookie.

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

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

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

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

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

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

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

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

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

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

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

целым числом), ведь они исходят из того, что следующий токен выдадут только через 3 минуты (хотя обычно оно все-таки с каким либо смещением, чтобы даже на границе срок действия его уже истек). думаю имеем что-то вида: Тут немного техники: я не люблю штуки вида Greasemonkey и ко, хоть и юзаю иногда. Много можно сделать и из dev консоли firefox-а, но так, по мелочи. У меня есть собственный (ну почти) плагин, разворачивающий «полноценный» интерпретор тикля (tcl) с api к javascript текущего окна. var f = form0; f.target = '_tmp_win_0'; f.ordertoken.value = f.ordertoken.value '.' '00001'; f.submit(); ...

var f = form1; f.target = '_tmp_win_1'; f.ordertoken.value = f.ordertoken.value '.' '00002'; f.submit(); ...