Как стать автором
Обновить

Банки. Ошибки и уязвимости

Время на прочтение3 мин
Количество просмотров6.3K
Решил ради интереса посветить день обзору сайтов банков.
Первый из таких стал официальный сайт Россельхоз Банка (реклама дала о себе знать :) ), следующий Русский стандарт банк, далее X банк (X банк — банк, который не ответил на 2 моих уведомления и так не закрыл дыру) и напоследок Альфа-Банк.

Целью было не взломать или добиться вывода какой-либо секретной информации, а просто проверить на сколько хорошо сделаны официальные сайты банков.

Россельхоз Банк


Сайт работает на CMS Bitrix

Ошибки.

Первое, что бросилось мне в глаза — модуль вывода новостей, ибо там есть параметры выбора года, месяца, дня и ещё кол-во новостей на одной странице.

Выбор даты.

В адресной строке, указав год 200 и месяц 20 я увидел, что не было сообщений об ошибке и более того — эти данные появились в селекте на странице, а значит входящие данные выводятся на странице.
Далее решил проверить возможность SQL инъекции — неудачно.
Следующим шагом была проверка на XSS — вот тут уже стало интересно.

Спец. символы не экранируются и html символы не преобразуются в html сущности, а значит можно внедрить любой код.
К сожалению (или к счастью банка) все попытки внедрить такие XSS как вызов алерта или iframe не удались, так как в первый тег вставлялся пробел.
Входящие данные:
20"></option></select><script>

На выходе:
20"></option></select><sc ript>




Максимум, что можно сделать, это вставить картинку или ссылку (без вызова js кода).



Ограничение кол-ва новостей.

Следующим шагом была проверка ограничения, на странице можно выбрать от 5 до 20 новостей.
Но как вы уже, наверно, понял — ограничение можно обойти.
Вы можете спокойно указать 100000 новостей, после чего на сайте появятся все новости.

Ссылки на новости.

На странице новостей также увидел, что у ссылок на новости странное окончание.



Все попытки манипуляции с этой переменной провалились, хотя подозреваю, что если бы был включен Register_Globals, то можно было бы выполнить XSS.
Дальше решил перейти на страницу пресс-центра, там увидел подобную ошибку, но уже без переменной $page



Решил и на этой странице произвести манипуляции — удачно. При передачи переменной page через GET всё содержание переменной вывелось в ссылке, но двойная кавычка была преобразована.


Ответ.

Ответ последовал через несколько часов, поблагодарили и поинтересовались откуда такая забота об их банке :)

Сами ошибки были исправлены, примерно, через 3-4 дня, кроме вывода всех новостей, видимо, не посчитали это ошибкой.

Русский стандарт банк


CMS сайта не узнавал.

XSS

Суть XSS уязвимость оказалась в том, что параметр из GET запроса передаётся в код страницы в нескольких местах, но самое главное — в js код.
В этом js коде определяется переменная requestUri (отвечает за адрес текущей страницы), но при передачи параметров нет экранирования одинарной кавычки, что позволяет нам выполнить произвольный js код.





Дальше не стал проверять сайт, ибо этого уже достаточно.
Ответ.

Ответ получил 31.05.

X банк


X банк — банк, который не ответил на 2 моих уведомления и так не закрыл дыру, поэтому я решил его не «светить».
Банальнейшая ошибка — форма поиска.
Никакой фильтрации нет, добавляем кавычку и закрываем инпут, далее вставляем любой код.

Дальше не стал проверять сайт, ибо этого уже достаточно.
Ответ.

Ответа пока не последовало, как и исправление ошибок.

Альфа-Банк


Мельком посмотрел многострадальный Альфа-Банк, а именно поддомен идея.альфабанк — тоже нашёл XSS, единственное, что помешало успешно выполнить код это слеш, он воспринимается как разделитель, т.к. параметры передавался через GET (idea.alfabank.ru/accepted/page88любой_код)


Ответ.

Первое сообщение видимо не дошло или по каким-то причинам было пропущено. Со второго уведомления — ответили быстро и залатали дыру.

Итог.


К сожалению, подобные ошибки исправляются крайне медленно, тем более для некоторых приходилось повторно отправлять сообщение с описание ошибок, чтобы их наконец закрыли.

Совет.

При переходе по внешним ссылкам обязательно проверяйте их путь даже если ссылка ведет на надежный сайт, дабы не стать жертвой хакера.
Теги:
Хабы:
Всего голосов 64: ↑46 и ↓18+28
Комментарии19

Публикации

Истории

Работа

Ближайшие события