Как я в 15 лет взломал хостинг

15 ИЮНЯ 2022

------------------------------------------------------------------------

Наш телеграм-канал: t.me/@mailsgun_online

Youtube: youtube.com/@mailsgun_online

------------------------------------------------------------------------

Обновить
вчера в 21:25

Был тёплый, солнечный обед, все шло своим чередом.

Я писал колесо фортуны в интернет-магазине для сети магазинов мяса, в котором можно выиграть продукт. Сайт писал на Blazor(не WebAssembly), и из-за некоторых его ограничений мне пришлось делать все через костыли (уже переписываю на React и Node).

Мне нужно было прочитать содержимое JS файла и затем выполнить на сайте. Я немного ошибся в пути к файлу и при выполнении возникла ошибка, что нет такой папки. Увидел такой путь в ошибке:

C:HostingSpacesuser..ShopWeb...

user.. — логин моего аккаунта, ShopWeb — название проекта

Хм.. Ну можно даже не пробовать посмотреть содержимое папок других пользователей, на хостинге же все права к папкам проставлены… Оказывается — ничего они не проставлены. Я мог получить доступ к большинству папок на этом сервере. Просто для интереса написал скрипт, который берет содержимое HostingSpaces и высвечивает название всех файлов внутри папки HostingSpaces и во всех вложениях. На этом сервере были только ASP.NET Core сайты. Структура папок была одинаковой и скучной. Но у меня возник интерес к файлу appsettings.json. Этот файл в ASP.NET Core является стандартным местом для хранения строк подключения к базе данных а также для разных API ключей!

Структура файла appsettings.json
Структура файла appsettings.json

Сгенерировал список с содержимым файлов appsettings.json. Сижу, листаю этот огромный список. Везде было свойство ConnectionString и там строка подключения к реальным базам данных. И тут очень привлекли внимание два файла, в которых, кроме строки подключения было ещё какое-то свойство ScpLogin, куча API ключей, а также GitLab token. Я вспомнил, что административная панель моего хостинга базируется на SCP Manager.

Приблизительная структура ну уж очень интересных файлов appsettings.json
Приблизительная структура ну уж очень интересных файлов appsettings.json

Попробовал зайти в панель управления с логинами и паролями из файлов. И.. удалось! Я был очень удивлён. Эти два пользователя были с максимальными правами. Я мог посмотреть всех пользователей, заходить в их админки, перевести их на другой тариф, посмотреть заработки компании, смотреть support-сообщения и даже выключать и управлять виртуальными машинами и серверами. Со своего ASP.NET проекта я мог выполнить cmd команды. Я попробовал создать пользователя, но у пользователя, где выполняется сайт не было прав администратора.

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

Вывод

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

Пока не знаю как сообщить хостинг-компании, а то ещё забанят.

Всего голосов 6: ↑3 и ↓30

Просмотры1.6K

  • 5 сентября 2020 в 16:16
    Всего голосов 49: ↑38 и ↓11+27

    Просмотры14K

  • 9 февраля 2018 в 09:52
    Всего голосов 38: ↑37 и ↓1+36

    Просмотры63K

  • 5 октября 2017 в 19:18
    Всего голосов 9: ↑8 и ↓1+7

    Просмотры4.8K

  • вчера в 00:40
    Всего голосов 115: ↑103 и ↓12+91

    Просмотры24K

  • вчера в 12:23
    Всего голосов 71: ↑67 и ↓4+63

    Просмотры10K

  • вчера в 01:15
    Всего голосов 43: ↑42 и ↓1+41

    Просмотры5.5K

  • вчера в 12:05
    Всего голосов 34: ↑33 и ↓1+32

    Просмотры9.2K

  • вчера в 15:42
    Всего голосов 37: ↑33 и ↓4+29

    Просмотры2.8K

Source: habr1

Ну и напоследок напоминаю вам о нашем новом проекте vkserfing bot.