Дмитрий DarkByte Москин

Мой блог, да.
logo

ZeroNights 2014 hackquest - private bank haxing

Опубликовано 08.10.2014 автором Дмитрий Москин
В этом году хакквест от ZeroHights прошёл в том же формате, что и в прошлом году, разве что задания стали несколько более сложными. Но по прежнему - один день - один таск - один победитель - один инвайт. Для меня даже подготовили специальный таск, но времени его порешать я так и не смог найти, зато нашёл время на решение другого :p

Day 7/8 :: private bank haxing

В задании дана ссылка на сайт bank.0x90.ru, на котором ничего интересного, кроме страницы авторизации нет. Разве что в исходном коде есть комментарий:
...
<ul class="nav navbar-nav pull-right">
<li class="active"><a href="/login/">Login</a></li>
<!--<li><a href="tel:88005052098">Support</a></li>-->

</ul>
...


Номер начинается на 8-800, а значит нам ничего не стоит позвонить на него. Попадаем в голосовое меню, где предлагают пообщаться с оператором или пройти авторизацию. Конечно же нас интересует авторизация, тем более, что на сайте нам предлагали ввести полный номер карты, а по телефону спрашивают только 6 последних цифр.

Первому, кто решил данный таск, крупно повезло. Для него решение сводилось к нажатию "#", после чего девушка проговаривала полный номер карты. Затем баг был устранён и остальным требовалось подобрать номер карты. Примерно с 15 попытки мне удалось ввести 6 правильных цифр и девушка сообщила мне номер карты. Некоторым везло ещё больше, они угадывали правильную комбинацию с первой попытки. Некоторые догадались, что вводить можно не 6, а меньше цифр, но главное, что результат выборки возвращал ровно один результат.

Затем нас просят ввести пин-код, после ввода неправильного пин-кода, предлагают снова ввести номер карты. Поняв, что брутить по телефону пин-код довольно долго, возвращаемся на сайт. В форме авторизации нет средств для защиты от подбора пароля (пин-кода). Предполагая, что он состоит из 4 цифр, получаем максимум 10000 запросов и запускаем брут. Через 15 минут и примерно 3000 запросов получаем пин-код и вместе с ним доступ в личный кабинет банка.



NAME: John Doe
CARD: 3476965688147896
BALANCE: 100.0
EXPIRES: 2017-01-13
PIN: 2563
CVV: 368


Но нам сообщают, что "our pricess is in another castle!". Вспомнив, что по телефону спрашивали пин-код, повторяем вызов, вводим последние 6 цифр номера карты, пин-код и получаем флаг: md5(ASTERISK) => 71ad0fa6a6a3e480ec3446bce7073e63.