Pull to refresh

Уязвимости в сервисе компании Plategka.com, включающие XSS

Information Security *Payment systems *Web services testing *
Интересуюсь платёжными сервисами, банками, пластиковыми картами, да и вообще слежу за электронной коммерцией. А ещё я люблю находить ошибки и уязвимости в системах интернет-банкингов, платёжных терминалов или в системах онлайн-переводов.

Не так давно один украинский сервис онлайн-оплаты — Plategka.com — запустил функцию: создание ссылки с уникальным адресом и QR-кодом для получения перевода на карту.

Как только я захотел проверить, как работает новый сервис, я увидел ту же ошибку, которую допустили Portmone: по ссылке указывается полный номер карты. Перебирая ссылки, можно собрать номера карт. "Изначально мы думали над сокрытием номера карты, но в этом вопросе есть свои за и против, поэтому на первом этапе, дабы у Плательщика была возможность убедиться в верности уже введенных данных, решили его оставить", — пишут они пользователю.

image

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

Итого: можно собрать полные номера + ФИО владельцев карт (я указал просто первые буквы латинского алфавита).

Об этой оплошности я сразу сообщил в компанию, они исправили отображение полного номера карты достаточно быстро и даже отблагодарили меня суммой в… 200 гривен ($8,5). Что ж…

Через пару дней, найдя свободное время, я зашёл на сайт ещё раз. А, так как первоначально при регистрации я указывал в полях «фамилия» и «имя» не совсем корректные данные, в этот раз решил посмотреть, возможно ли указать в этих полях два слова.

image
(телефонный номер не мой)


Два слова указать удалось.

image


Удалось указать и больше.

image


Получилось следующее:

image

А что, если добавить перенос строки
— забыл я о том, что это платёжный сервис и такой код не должен выполняться.
Однако разработчики также забыли это учесть — система приняла и «правильно» отобразила и перенос строки, и изменение цвета шрифта:

image

С такой формой мошенники могут долго собирать деньги с доверчивых пользователей. Особенно если задать психологически правильный текст. Кстати, сервис даёт возможность «забронировать» адрес ссылки. Естественно, я попробовал и создал ссылки вида:

www.plategka.com/gateway/pay2meadmin/
www.plategka.com/gateway/pay2melogin/
www.plategka.com/gateway/pay2metest/

и другие.

Спойлер
Сейчас мои ссылки с описанием «Аккаунт владельца ссылки заблокирован» неактивны, но это не из-за действий «Платёжки», а потому что я во время проверки удалил один аккаунт и создал другой, а система не даёт возможность создать новому пользователю ссылку с освободившимся словом. Т.е. старую ссылку удалить/изменить нельзя, новую создать — тоже.

Ну и я не мог не попробовать вставить в какое-либо поле.

image

И, к сожалению сервиса и моему счастью, код выполнился:

image

Мда, HTML-кодом дело не ограничилось, тут же и XSS.

Сообщение в компанию я отправил, указав, что эти ошибки серьёзнее, чем предыдущие. Меня поблагодарили и я получил вознаграждение. Вознаграждение, внимание, в размере… снова 200 (!) гривен!

Понимаю, что не во всех компаниях допускаются выплаты за найденные уязвимости, но
восемь с половиной долларов за XSS?
Tags:
Hubs:
Total votes 30: ↑22 and ↓8 +14
Views 16K
Comments Comments 15