Уязвимости GeekBrains: Зачем платить деньги за курсы если их можно просто скачать?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.


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


Предыстория



Вечерами, в перерывах между чтением школьной литературы на лето, я участвовал в bug bounty программе от Mail.ru Group.

Я искал новые поддомены и сервисы которыми владеют Mail.ru, на них довольно часто встречаются разного рода уязвимости.

На тот момент я уже знал об образовательном IT проекте GeekBrains, не думал что смогу выцепить там что-то интересное, но я ошибался.

API



Углубившись в тестирование личного кабинета пользователя, я сразу наткнулся на API сервиса.

С помощью DIRB я вышел на метод projects, перебирая id проектов я выпал на любопытный URL.



Это открытый Amazon S3 bucket. На нём в «свободном доступе» лежат материалы и учебная литература практически ко всем курсам ресурса.



Вот например презентация к курсу «Информационная Безопасность»

Или вот, домашняя работа ученика курса «Java developer»



Здесь так же присутствует большое количество приватной информации на каждого участника курса.

Идём дальше



Рассуждая логически, если у них есть один S3 бакет значит, возможно, есть и другие!

На этом этапе воспользовался lazys3. Довольно удобный инструмент для поиска S3 бакетов.

После перебора я обнаружил еще один бакет, это был geekbrains-uploads.s3.amazonaws.com

К сожалению прямой просмотр файлов недоступен, но есть возможность загрузить свой.

С помощью стандартной AWS утилиты заливаем на сервер TXT файл.

aws s3 mv xalerafera.txt s3://geekbrains-uploads




Сюда можно залить исполняемый файл или другую гадость.

На этом моменте я зарепортил уязвимости, а спустя несколько дней я получил за них выплаты.

Помимо этих двух дыр, я обнаружил еще XSS в личных сообщениях.

Есть еще одна уязвимость, о которой хотелось бы рассказать, но она всё ещё Triaged.

Итоги



Закрывайте ваши S3 бакеты, это может привести к серьезным потерям.

Хочу поблагодарить AlexShmel, за помощь в написании статьи.
Источник: https://habr.com/ru/post/468151/


Интересные статьи

Интересные статьи

Пять лет назад я попробовал работать с Tarantool, но тогда он мне не зашел. Но недавно я проводил вебинар, где рассказывал про Hadoop, про то, как работает MapReduce. Там мне задали в...
Демосцена — разновидность творчества на стыке компьютерной графики, музыки и, собственно, программирования, а также сложившаяся вокруг него субкультура. Первые демоэксперименты от...
Есть много полезных инструментов, которые помогают отслеживать нагрузку на сервер, начиная с утилит Linux и заканчивая специализированными службами. Простые утилиты Linux показ...
В последние несколько лет набирают большую популярность игры такого жанра, как «кликеры». Мне самому очень интересно играть в них, но не менее интересно создавать игру — кликер самому. Благодаря ...
Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL «SQL Error (1118): Row size too large. The maximum row si...