Pull to refresh

Neoquest 2019: «Связь с небесами»

Reading time2 min
Views1.7K

Недавно закончился очередной NeoQuest.


Под катом разбор третьего задания, относящегося к поиску web-уязвимостей и немножко фишингу. Интересно, как обмануть Telegram бота и заставить его поделиться ключом? Тогда добро пожаловать под кат.




Текст задания содержит ссылку на Telegram бота (которого почему-то назвали каналом).



Бот нам сообщает, что любит тусоваться на этом сайте. Поглядим, что там:


Нужен логин и пароль. Вероятно узнав их, удастся раздобыть ключ. Вернемся к боту, попробуем с ним поболтать.
На команды типа /start или /help бот не реагирует, на медиа (картинки, видео, аудио) тоже.
На текстовые сообщения отвечает рандомным ответом из списка.


Зато на ссылки всегда отвечает одинаково:



И это подозрительно. Пробуем отправить ссылку на ОлимпИю и получаем другой интересный ответ:



Задержка во времени между первым и вторым ответом наводит на мысль, что бот пытается по этой ссылке сходить. Значит все что нам надо — попытаться заставить сходить бота по нашей ссылке так, чтобы он считал что это ссылка на ОлимпИю.


Изучим ОлимпИю поподробнее. Попробуем открыть какой-нибудь другой раздел, например 213.170.100.214/messages. Происходит редирект на 213.170.100.214/login?next=messages. Ага! Редирект! То что нам нужно для формирования фишинговой ссылки.


Дальше нам понадобится какой-нибудь хостинг, на котором будет размещена наша фишинговая ОлимпИя. Такой у меня был, поэтому оставалось только сделать страницу, которая просто сохраняет все параметры запроса в файл.

Код на php
<?
file_put_contents('request.txt', print_r($_REQUEST, true));
?>



Пробуем в лоб:


И вроде бы боту понравилось, но по факту запрос на сервер не приходит. Вероятно это из-за http в начале. Тогда не будем указывать протокол:

Вот оно, мы продвинулись. Бот действительно посетил страницу, запись в request.txt появилась, правда пустая, потому что наша фишинговая страница ему не понравилась.

Движемся дальше, вместо пустой страницы будем отдавать ему тот же html, что и оригинальный сайт ОлимпИи:


Умный бот, страница без стилей ему видите ли кажется подозрительной. Ну нам не жалко, зальем файлы картинки и стиля. Теперь наш фишинговый сайт визуально идентичен ОлимпИи. Может теперь получится?

И вроде бы бот ничего не интересного ответил, но заглянем ка в файл, сохраняющий параметры запроса, а там:
Array
(
    [username] => godmom
    [password] => ed_ax3kWbdn3pjje5V5
)


Остается только залогиниться в ОлимпИи и получить заветный ключ


Tags:
Hubs:
+13
Comments3

Articles