Не так давно я решил протестировать очередной банк или платёжную компанию на предмет наличия простой, но от этого не менее популярной уязвимости вида «Возможность просмотра операций других клиентов».
Почему я пишу, что эта уязвимость простая? Потому что украинская электронная платёжная система Portmone.com в прошлом году имела такую ошибку. Как и Фидобанк (пост на Хабрахабр). Впрочем, как и упомянутые там же Qiwi или Тинькофф Банк — примеров множество. А сколько ещё не найдено, не опубликовано…
Итак, с целью разминки
Про Платинум Банк с официального сайта:
Platinum Bank – один из крупнейших участников отечественной банковской системы. Относится к І группе банков согласно рейтингу НБУ (на долю Platinum Bank приходится более 0,5% активов банковской системы Украины). Региональная сеть насчитывает 69 отделений и 1080 пунктов продаж в различных регионах Украины…
Также банк активно работает над проектом Digital Bank. В частности, активно развивает платформу pay.ptclick.com.ua и лабораторию финансовых инноваций Platinum Lab.
Вот его я и решил проверить на очевидную уязвимость.
Регистрация на портале pay.ptclick.com.ua предельно проста — e-mail + пароль и поле для капчи.
Так как я думал найти конкретную ошибку — просмотр информации об оплатах других клиентов — мне нужно было от чего-то отталкиваться.
После регистрации я сделал какую-то оплату вроде пополнения мобильного и, после проведения операции, зашёл в раздел «История».
В «Истории» существует возможность:
1) посмотреть данные об операции по ссылке вида pay.ptclick.com.ua/ru/history/paymentdetails/XXXX
2) повторить данную операцию, нажав на pay.ptclick.com.ua/ru/biller/payment/XXXX
3) скачать квитанцию в PDF по ссылке pay.ptclick.com.ua/ru/biller/receipt/XXXXXXXX
4) отправить квитанцию на e-mail по ссылке pay.ptclick.com.ua/ru/history/sendreceipt/XXXXXXXX
Так вот, простым перебором числового параметра XXXX в любой из ссылок выше можно получить информацию об операциях других клиентов. XXXXXXXX подбирается чуть сложнее, но при переборе таких операций не требуется даже авторизация (!) на платёжном портале.
Таким образом, на портале можно получить информацию обо всех операциях всех клиентов, которые воспользовались pay.ptclick.com.ua — платежи за коммунальные услуги, интернет, мобильный, Skype и прочее:
Письмо про данную ситуацию я отправлял неоднократно, первое сообщение в банк по найденным адресам было отправлено мной в первых числах октября, два месяца назад.
Изначально я просил связаться со мной ответственного специалиста, не указывая конкретных данных об ошибке, дабы не распространять её среди тех, кому этого знать не следует.
Но со стороны Банка постоянно приходил ответ в духе «Для того, чтобы с Вами связался наш представитель, пожалуйста, укажите Ваши контактные данные и время, когда Вам удобно будет получить звонок» (т.е. моей почты недостаточно для связи, им необходим именно телефон).
Позже, укоротив ссылки через bit.ly (позволяет видеть, сколько человек кликнут по ним), я указал, где именно проблема. На сегодняшний день по каждой из ссылок было около 6-7 переходов.
Что интересно, первые переходы по ссылкам были совершены только 17-18-го октября, когда я ещё раз напоминал о проблеме, а никак не в начале октября, когда писал им впервые.
Отсюда вытекает, что первые сообщения с ссылками об ошибке, отправленные мной в начале октября, не передавались ответственным лицам около двух недель.
Затем были остальные переходы по ссылкам — в ноябре, а именно на следующий день после того, как я вспомнил о проблеме, нашёл рабочий e-mail руководителя, который ответственен за этот портал, и отправил письмо лично ему.
В сухом остатке: не смотря на мои уведомления о проблеме по разным каналам, ошибка до сих пор, через два (!) месяца после первого сообщения, Платинум Банком не исправлена.
Автор: Gorodnya