HackTheBox — Получение инвайта.
Здравствуйте, дорогие друзья. Поговорим сегодня про площадку для хакеров, которая называется «HackTheBox». Хочу отметить, что просто так у нас нет возможности зарегистрироваться на этом сайте. Нужен инвайт, который надо будет достать с сайта:
Разработчики намеренно оставили эти действия для того, чтобы уже при регистрации, начать думать, как хакер и взломать сайт, получив инвайт.
Введем какой-либо код, не важно какой:
Получаем ошибку.
Давайте посмотрим на код этой странице, с помощью встроенного инструмента «Инспектора кода», и после беглого просмотра на глаза попадается скрипт «/js/inviteapi.min.js»:
Разработчики не выкладывают такие файлы наружу, и это зацепка.
Переходим на вкладку «Sources» и находим искомый файл «min.js», включив опцию «pretty-print»:
Код представляет собой стандартную функцию запаковки всего кода на javascript с явной функцией «eval».
Нам нужно cкопировать и выполнить этот код на вкладке «Console», назвав функцию «BOX»:
В итоге мы ничего нового и полезного не узнали, кроме двух функций: «verifyInviteCode(code)», «makeInviteCode()». Функция «makeInviteCode()», отправляет данные на сервер. Посмотрим, какой ответ получили:
Получили зашифрованные данные, методом ROT13, о чем говорит подсказка.
Расшифровка происходит с помощью декодера ROT13:
Нам нужно отправить POST-запрос на /api/invite/generate. Он будет выглядеть как: «$.post(„/api/invite/generate“, function( r) {console.log( r);})»:
На первый взгляд кажется, что это BASE64, попробуем расшифровать код, с помощью функции atob():
Копируем полученное значение, которое похоже на инвайт, и вставляем его в поле для ввода:
На этом все. Всем хорошего дня!