HackTheBox - получение инвайта

HackTheBox - получение инвайта

UnderMind

Поговорим сегодня про площадку для хакеров, которая называется «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():


Копируем полученное значение, которое похоже на инвайт, и вставляем его в поле для ввода:


На этом все. Всем хорошего дня!

НАШИ ПРОЕКТЫ


Report Page