У меня накопилось несколько найденных проблем в различных сервисах Ощадбанка, одного из крупнейших украинских банков.
Вся информация предоставлена исключительно в ознакомительных целях. Я не несу ответственности за любой возможный вред, причиненный материалами этой статьи
1. Получение ФИО* клиента по номеру телефона
Ощадбанк добавил новую функцию в свой интернет-банкинг «Ощад 24/7» — перевод с карты на карту по номеру телефона: чтобы перевести средства, необязательно знать номер карты получателя.
Ранее я рассмотрел проблемы в реализации данной функции в другом украинском банке — Уязвимость в Альфа-Банк Украина: получение ФИО клиента по номеру телефона.
Здесь уязвимость меньше — на самом деле возможно получение не всего ФИО, а только имени и первой буквы фамилии, но это не отменяет того факта, что теперь можно узнать настоящее имя человека, скрывающегося за анонимным номером телефона (в Украине SIM-карты выдаются без привязки к паспорту).
Т.е. если вас интересует, к примеру, имя звонившего вам человека, а поиск в социальных сетях не даёт результатов, или вы сомневаетесь в их валидности (часто в соцсетях указывают выдуманные ФИО), то с помощью Ощадбанка вы можете попробовать узнать его настоящее имя.
Что за поиск в социальных сетях? Его уже описывали много раз, но, думаю, не лишним будет напомнить «фичу»: если нужно узнать ФИО человека, можно попытаться «восстановить» учётные данные в социальных сетях.
Например, можно нажать «Забыли аккаунт?» на Facebook, ввести желаемый номер телефона и, если человек регистрировался с данным телефоном, то доступны будут следующие данные:
— Маскированный адрес почты;
— Аватар пользователя в виде ссылки www.facebook.com/profile/pic.php?cuid=XYZ&square_px=50, который можно открыть в бОльшем разрешении, увеличивая параметр square_px;
— Имя и фамилию, под которыми пользователь зарегистрировался.
Так вот, если указанные в одной из социальных сетей имя и фамилия вызывают сомнения в их подлинности, на помощь приходит Ощадбанк с его почти 5,5 млн активных банковских карт (это второй банк по количеству активных карт в Украине):
В Ощад 24/7 выбираем: Платежи и переводы, Переводы между картами, По номеру телефона:
В случае нахождения системой клиента видим его имя, первую букву фамилии и маскированный номер карты:
Или можно воспользоваться GET-запросом на https://online.oschadbank.ua/wb/api/v2/catalogs/CONTRACT_BY_PHONE?filterCode=BY_PHONE&PHONE_NUMBER=380987654321
В ответ получим:
[ {
"id" : "+380987654321",
"name" : "+380987654321",
"CONTRACT_ID" : "42577459",
"CLIENT_NAME" : "ИМЯ Ф.",
"PAN" : "5167********3489"
} ]
Да, Ощадбанк блокирует на некоторое время возможность перевода при попытках перебора несуществующих номеров телефонов.
Однако это не такая проблема, если учесть вторую уязвимость Ощадбанка.
2. Получение нового аккаунта в «Ощад 24/7» с помощью prepaid-карты Visa
Предоплаченная карта (оформляется без предоставления документов) активируется с любым номером телефона: при выдаче карты Ощадбанк никак не сопоставляет номер телефона клиента с картой — клиент самостоятельно привязывает её к любому номеру мобильного.
Таким образом, чтобы получить аккаунт в Ощад 24/7, можно не покупать такую платёжную карту Ощадбанка, а просто перебором правильного номера карты попытаться активировать её в автоматическом меню колл-центра.
В меню IVR нет ограничения на количество неудачных попыток такого подбора и, если 16-ти значный номер карты окажется «свободным» (эта карта не была никем активирована), то банк:
- тут же активирует карту,
- подключит SMS-информирование на этот номер телефона,
- и автоматически зарегистрирует карту в «Ощад 24/7».
Всё это без наличия пластиковой карты у вас на руках.
Соответственно, и войти в интернет-банкинг можно будет, ни разу не появившись в отделении.
Хорошо, а как тогда лучше реализовать перевод по номеру телефона, чтобы и безопасно было, и клиентам удобно? — Повторно укажу на предыдущую статью: Уязвимость в Альфа-Банк Украина: получение ФИО клиента по номеру телефона. Мне нравится финальная реализация сервиса Альфа-Банком: часть фамилии маскирована звёздочками, а имя и отчество указаны только первыми буквами.
3. Доступ к папкам и файлам на подсайте Ощадбанка
Ещё одна проблема с картами Visa, она не указана в заголовке.
Когда Ощадбанк запускал продажу Visa Prepaid на своём сайте, они не позаботились о настройках доступа и отображения каталогов.
Например, на одной из https-страниц можно было перебором получить форму чужого заказа, где в коде страницы указаны e-mail клиента, номер его заказа и ФИО:
Остальные страницы были на http, а не на https, и на них, без авторизации, были доступны папки, файлы и логи оплаты клиентами за данные карты:
Логи оплат:
Ответа на моё сообщение об уязвимости на этом сайте, кроме дежурного «будет передано», не было, её тихо исправили и не сказали даже «Спасибо».
4. Доступ к операциям клиентов в платёжных терминалах
Зная номер мобильного телефона клиента Ощадбанка, можно получить доступ к операциям, совершаемым им в платёжных терминалах.
В меню терминала (фото не будет) для входа в личный кабинет нужно ввести мобильный номер телефона.
В ПриватБанке и терминалах других платёжных компаний после ввода номера телефона на него отправляется одноразовый код, который необходимо ввести для авторизации, или авторизация происходит другим способом.
В Ощадбанке же никакой авторизации нет — вы просто вводите номер телефона и получаете доступ к сохранённым платежам, закреплённым за данным номером телефона клиента.
Есть у меня ещё что сказать про терминалы. В принципе, следующая проблема с терминалами похожа на ту, которую я описывал в статье «5 нажатий на экран терминала — и открывается любая папка».
5. Полный доступ к управлению платёжным терминалом
В одном из платёжных терминалов Ощадбанка мне как-то открылся рабочий стол.
Мало того, что можно было походить по папкам системного диска и настроить практически любые параметры Windows (хотя это, конечно, та ещё проблема), так ещё и в папке с незамысловатым названием «Customer» на диске C: лежат логи операций в этом терминале с расширением «jrn» (а по факту — plain text).
Файлы создаются каждый день и содержат такую информацию: какие операции были проведены в данном терминале, какая сумма была внесена для пополнения карты, какая — для пополнения мобильного (с указанием полного номера телефона), на какую сумму и когда была инкассация терминала, какими купюрами и т.д…
Кстати, файлы логов клиентских операций можно было изменять и удалять. Про проблему в терминале я в банк сообщил, но чем кончилось — не знаю (как видно из предыдущих пунктов, банк не считает нужным сообщать клиентам о решении их запросов).
Bug bounty, благодарности, хотя бы просто обратная связь? Не, не слышали.
Такие дела.
Автор: Gorodnya