Статья Как я обнаружил уязвимость в процессе попытки выиграть iPhone.

cat_meow_666

Green Team
02.10.2017
62
26
BIT
2

Введение

Приветствую всех читателей статьи!

Рад вернуться с 2017 года.

В данной статье я расскажу, как я обнаружил уязвимость в процессе попытки выиграть iPhone.

ДИСКЛЕЙМЕР: Все уязвимости, о которых было упомянуто в данной статье, были исправлены разработчиками организации.

Forte bank - Aqqala Games

Данная игра располагалась в мобильном приложении Forte и запускалась в виде веб-страницы внутри iframe.

1679792693342.png



Авторизация - Insecure Direct Object References (Небезопасные прямые ссылки на объекты)

1679792798787.png


Была обнаружена возможность указания в поле user_id чужого номера телефона, а также имени и фамилии, и тем самым играть за других пользователей.

Регистрация - (Как не следует делать регистрацию в системе - ошибки, которые стоит избегать)

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

1679793627586.png


Здесь наиболее интересным является пароль, сгенерированный системой

1679794059324.png



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

Пароль был генерирован в front-end части приложения, используя номер телефона клиента в качестве основы. Конкретно, пароль состоял из слова "secr3tw0rd", за которым следовало base64-кодированное значение номера телефона.
Авторизация без ФИ - Зачем создавать пароль если она не используется?


1679794540027.png


В следующем запросе мы использовали сгенерированный пароль для доступа к клиентским данным банка. Хотя кажется, что ФИ - это малоинформативное значение, но представьте, что с помощью этих данных можно было бы создать свой собственный getcontact по базе Forte банка.

Мошенники и так знают наш номер и ФИО?

1679795294954.png


Вы задумывались о том, знают ли мошенники, с какого устройства вы последний раз авторизовались, из какой страны, города или даже точного адреса при авторизаций?
Конец - Что то еще?

Игровой процесс весьма прост: нужно убивать снеговиков, набирать очки и зарабатывать бонусы. Каждый игрок имеет право на 5 попыток в день.
Вам не хватают 5 попыток в день?

1679796057573.png



Вы простой смертный и набиваете еле как 15 000 очков, после его игра начинает дико лагать?

1679796227717.png


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

Вывод:
Игра была проведена в период нового года. Она была очень плохо оптимизирована, все переменные были статическими. Один игрок выиграл с результатом в 4 миллиона очков, играя без остановки 26 дней подряд :) Я написал официальное письмо банку, который выпустил эту игру. Мне сказали, что рассмотрение ошибки займет 15 дней, хотя игра была отключена через 2 дня и запущена только через 7 дней без утечки клиентских данных. Однако никто так и не позвонил мне и не поблагодарил за сообщение об ошибке :(
 
  • Нравится
Реакции: DECEPT_MHE_B_POT
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!