Pull to refresh

История о том, к чему приводит случайное раскрытие ссылки и не только

Reading time6 min
Views4.8K
И снова здравствуй, дорогой читатель!

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

image

Введение


Листая как то истории в Инстаграм, я остановился на видео в истории пользователя «sergey_bubovich», это автор YouTube канала «MENTAL» и многих курсов по анализу поведения и эмоции человека. Думаю что, многие читатели возможно знают о нем. Так вот, в этом видео он демонстративно уведомлял о том, что вебинар «Быть на шаг впереди» начинается. И меня в этом видео заинтересовало пару моментов, которые могли привести к тому, что любой желающий мог подключиться к вебинару и ко всем ее материалам. При этом не заплатив ни копейки.

Чтобы вы понимали, на момент написания статьи, стоимость курса составляет от 3490р до 14500р.

imageСтоимость курса «Быть на шаг впереди»

Курс оптимальной цены, но из за одного видео в истории Инстаграм, в нем мог принять участие любой пользователь.

Раскрытие ссылки


Анализируя видео автора, видно что попала ссылка на сам вебинар.

image
Раскрытие ссылки

Причем данная ссылка оставалась актуальной всегда, по мере прохождения курса. То есть, когда менялись материалы и тема вебинара, ссылка не менялась, а значит что любой пользователь мог спокойно участвовать во всех вебинарах, при этом ничего не заплатив.

Переходя по ссылке, мы встречаем такую страницу:

image

Здесь у нас запрашивают имя и почту для того, чтобы войти в комнату. Тут мы можем вводить абсолютно любые данные, никакой проверки подлинности тут нет. Введя любые данные, мы успешно войдем в комнату и сможем спокойно участвовать в вебинаре.

Не обращайте внимание, что на одном скрине упомянута тема «Контроль стресса» а на втором «Бонус по манипуляциям», так как анализ видео я начал делать немного позже и к этому времени тема уже изменилась.

Ниже прикладываю видео со входом:

Видео с раскрытием ссылки

Давайте теперь проанализируем саму ссылку: start.bizon365.ru/room/16571/shag

start - Это поддомен где проводятся вебинары
bizon365 - Это основной домен сайта
room - Сам путь по которому находятся вебинары
16571 - Это номер учетной записи
shag - Это идентификатор вебинара, без него на вебинар не попасть

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

Раскрытие пути к материалам


Во время входа на вебинар, меня заинтересовал один момент. Анализируя трафик в burp suite, я заметил что в трафике присутствует путь к файлу, а точнее к материалу вебинара. И при переходе по ссылке, мы встречаем такую картину:

image

Как мы видим, мы получаем доступ к материалам вебинара. Обращая внимание на ссылку, меня заинтересовал момент 0.png и можно предположить что скорее всего существует и 1.png и так далее.

image

Подбирая число я получал дальнейшие материалы по вебинару и 33.png, был последним материалом.

Часть материала я закрыл, чтобы не нарушать авторское право.

Было бы намного лучше, если бы пути к материалам не были бы настолько предсказуемыми. Например путь к каждому материалу, был бы не 0.png а состоял бы из рандомных и случайных наборов символов, чтобы не было возможности угадать дальнейшую часть материала.

Я бы хотел еще подчеркнуть, что путь к материалам вебинара засветился в трафике, хотя в комнате вебинара, не видно никаких материалов. Возможно у автора комнаты, был прикреплен материал по вебинару к комнате, но он его не транслировал и не показывал в комнате и поэтому в трафике засветился путь к материалам.

Как мы видим, раскрытие ссылки могло привести к тому, что внимательный пользователь мог участвовать в вебинаре и получить доступ ко всем материалам вебинара, при этом не заплатив никакой суммы. Что еще неприятное, недобросовестный пользователь мог после окончания курса, сохранить все материалы и опубликовать их в свободный доступ, что тоже неприятно. Еще это могло привести к спаму чата, что сорвало бы вебинар. Вполне можно написать скрипт, который будет входить на вебинар, указывая абсолютно случайные данные для входа (так как проверки подлинности там никакой нет) и устроить довольно масштабный спам чата, так как с помощью скрипта можно создать сотни аккаунтов и одновременно отправлять разные сообщения, что тоже неприятно.

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

1. Придумать абсолютно случайное и сложное имя идентификатора вебинара, чтобы не было возможности угадать его.

2. Установить сложный пароль для входа на вебинар, чтобы туда мог войти только тот, кому действительно разрешен доступ, тем самым избегая подобных ситуации.

3. После окончания прохождения вебинара, менять идентификатор и пароль для вебинара, чтобы прошлые участники не могли повторно там участвовать. Или просто создать новую комнату а прошлую удалить.

4. Обращать внимание на то, что попадает в кадр видео или скриншота. В кадр может случайно попасть что то конфиденциальное.

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

Как написал сам автор вебинара по поводу данной ситуации, будем считать эту ситуацию «Бонусом для внимательных»:)

Уязвимость Open Redirect


На данном сайте присутствует две такие уязвимости и они находятся на поддомене (start.bizon365).

Так вот, во время выхода из аккаунта, я решил перехватить и проанализировать запросы.

Выходя из аккаунта, я встречаю такую картину:

imageВыход и перенаправление на страницу входа

И если изменить ссылку на какой либо другой сайт, то нас успешно перенаправят.

imageСмена адреса перенаправления

imageУспешное перенаправление

Как мы видим, нас успешно перенаправили на другой сайт.

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

Во время выхода из аккаунта, мы встречаем такую картину:

imageПеренаправление на страницу входа

Указываем какой либо другой сайт и отправляем запрос

imageМеняем адрес перенаправления

После отправки измененного запроса, мы попадаем на страницу входа

imageСтраница авторизации

И если ввести данные от входа и нажать кнопку «Войти», то нас успешно перенаправят на тот адрес, который мы указывали в перехваченном запросе.

imageУспешное перенаправление

Ниже прикрепляю 2 PoC видео с эксплуатацией этих уязвимостей:

Уязвимость Open Redirect

Уязвимость Open Redirect

Как мы видим, мы можем подменять адрес перенаправления на свой. Чем это опасно? Опасно это тем, что под видом легитимной ссылки, мы можем жертву перенаправить на вредоносный адрес. Например, используя фишинг и пару психологических трюков, мы сможем заставить жертву перейти на первый взгляд по легитимной и безобидной ссылки, а на деле эта ссылка будет перенаправлять пользователя на вредоносный сайт. А вредоносный сайт, тем временем будет предлагать скачать какую то программу, под видом легитимной программы для проведения вебинаров. Или вредоносный сайт будет играть роль фишинга, где введённые данные будут отправляться злоумышленникам. Тут по сути есть много вариантов использования данной уязвимости, принцип работы и рисков, я думаю вы поняли.

По сути, внимательный пользователь сможет проанализировать ссылку и заметит, что в ссылке присутствует и другая подозрительная ссылка, которая будет перенаправлять пользователя на вредоносный сайт. Но такие риски можно снизить. Например, закодировав эту ссылку, чтобы она была как можно менее читаемая для пользователя, но читаемая для сайта конечно же. Вот пример:

1. В Burp suite выбираем вкладку Decoder, в поле вставляем ссылку
2. Раскрываем меню Encode as
3. Выбираем URL
4. Результат

imageКодирование ссылки

Как мы видим, наша ссылка закодирована. Для пользователя это будет выглядеть как непонятный набор символов и он визуально не будет знать, куда легитимный сайт может его перенаправить. Дальше закодированную ссылку можно спокойно вставлять в уязвимый параметр и сайт успешно перенаправит пользователя.

Итоги


Временная шкала:
05.09.2020 — Связь с тех.поддержкой
06.09.2020 — Предупреждение об уязвимости
09.09.2020 — Обратная связь со мной в телеграмме
10.09.2020 — Подробное объяснение уязвимости и ее последствия | Выплата 1000р в качестве благодарности

Спустя некоторое время, уязвимость исправили.
Как мы видим, мы нашли довольно опасную уязвимость на сайте. Смогли участвовать в платном вебинаре, при этом не заплатив никакой суммы. И раскрыли пути к материалам вебинара.

Под конец статьи, еще раз повторю один совет «Всегда обращайте внимание на то, что попадает в кадр скриншота или видео».
Tags:
Hubs:
Total votes 6: ↑3 and ↓3+4
Comments3

Articles