Масове пограбування покупців Fix Price

Більшість людей думають, що їх дуже складно пограбувати, але коли грабіжникам допомагає сам магазин — все стає в рази простіше. Я розповім як натовпі школярів вдалося обнести клієнтів магазину на величезні суми і як працівники магазину цьому посприяли.

image



Десь на початку літа з бонусної картки мого друга були зняті всі бонуси у розмірі ~800р, для студента це величезні гроші які він збирав цілий рік, і мені стало цікаво, як зловмисникам вдалося це зробити. Зайшовши в особистий кабінет мені було запропоновано завантажити електронну версію карти у вигляді картинки на телефон. І ось тут я усвідомив усю масштабність трагедії! Почнемо розслідування з самого початку:

Перший фактор: Слабкі паролі.

Уразливість, яка не піддається закриття — сама людина. Я зв'язався з продавцем зламаних акаунтів і він прислав мені паролі на які найчастіше траплялися акаунти:

1) Номер телефону без вісімки/сімки
2) Номер телефону з 8, 7, +7
3) 123456
4) 123456789
5) 1234567890
6) qwerty
7) fixprice
8) 111111
9) 222222
10) 12345678
11) 1234567
12) 666666
13) 123123

Паролі відсортовані за популярністю. Зайшовши на сайт, можна було дізнатися персональні дані, такі як: пошту, номер телефону, дату народження, ПІБ та адресу.

Другий фактор: Перевірка номера через сайт

Де взяти базу номерів для брута? Ось тут магазин дуже полегшив зловмисникам роботу. При авторизації вирушав всього 1 POST запит на URL наступного виду:

bonus.fix price/login


У відповідь приходив коротенький JSON який містив вичерпний відповідь:

1) Номер не зареєстрований
2) Пошта не зареєстрована
3) Не вірний пароль
4) Внутрішня помилка сервера

Досі сайт допомагає перевірити номер видаючи відповідь «клієнт не знайдений», так само можна було перевірити номер на іншому піддомені:

konkurs.fix price/profile/checkmail?email=&phone=


Він зараз не працює, але раніше там була каптча, обійти яку не становило проблем — можна було ввести її один раз і посилати купу запитів. Таким способом, за добу, зловмисник перебирав ВСІ діапазони номерів невеликого міста.

Третій фактор: Бруть без проблем

Сайт ніяк не блокував брут з одного IP. Можна було поставити програму на зламаний комп'ютер і пити чифір не піклуючись про проксі. Знову ж, за день можна було перебрутить всі логіни які знайшли на етапі вище.

До речі, адміністрацію цікавлять масштаби:

image

Думаю і читачів теж зацікавлять. Після мого питання про кількість акаунтів, зловмисник який займався їх продажем назвав цифру: 30 000. 30 тисяч акаунтів було зламано всього за 3 місяці!

Загальний баланс цих акаунтів, за його словами, становить близько півмільйона рублів.

Так само була зібрана не квола база номерів розміром більш ніж мільйон записів! На кожне місто приблизно по 50 тисяч. Можливо, зловмисник буде продавати цю базу спамерам (або вже продав).

Четвертий фактор: генеруй штрих-коди сам

Згенерувати код? Немає нічого простіше:

hash:=sha256(2041 + номер картки)
 
GET bonus.fix price/assets/fixprice/images/barcode/%hash%.png


Таким чином можна було вкрасти чужу картку просто знаючи її номер! Круто правда? Магазин дбати про безпеку своїх покупців!

П'ятий фактор: Співробітники магазину

Я просто залишу це тут:

image

image

На скільки правдиві дані історії я не знаю, просто повз проходив і записав.

Події останніх 5-ти місяців

Як тільки я дізнався про проблеми — одразу написав їм, але за все літо так і не отримав відповіді. Хотів зателефонувати, але знаючи стару мудрість «роби добро і біжи» я не став цього робити.

Де то у вересні вони прикрутили хмара через яке йшов весь трафік, але зробили це так криво, що можна було брут через інший піддомен, чим власне і користувалися зловмисники.

Приблизно місяць тому якийсь користувач виклав величезна кількість акаунтів у продаж, перша половина школярів миттю кинулися запускати IDE і клепати свої бруте, а друга половина пішла в магазин переводити куплені за 10-15% від балансу картки. В результаті сайт лежав постійно. І ось через тиждень було прийнято таке рішення:

image

А потім таке:

image

Висновок

Постраждали в першу чергу покупці, телефони всіх хто реєструвався на сайті в руках у нехорошої людини, магазин мало того, що не повернув гроші, так взагалі відключив всю бонусну систему! Хочу нагадати, що баланси почали пропадати як мінімум на початку літа! У групі вконтакте користувачі дико обурюються з цього приводу і звинувачують магазин у всіх смертних гріхах, та і якщо подумати, то правильно роблять, якщо б магазин відреагував на мій лист відразу ж — можна було уникнути такого розвитку подій.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.