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

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

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

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

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

C:\HostingSpaces\user..\ShopWeb\...

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

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

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

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

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

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

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

Вывод

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

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

Источник: https://habr.com/ru/post/562018/


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

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

Многие компании в определенный момент приходят к тому, что ряд процессов в бизнесе нужно автоматизировать, чтобы не потерять свое место под солнцем и своих заказчиков. Поэтому все...
Почему GCP? При написание телеграмм ботов столкнулся с вопросом, как быстро и бесплатно сделать так, чтобы бот работал постоянно. Варианты с Heroku и Pythonanywhere имеют слишком маленькие лимит...
Сегодня мы публично анонсировали Vepp — новую панель управления сервером и сайтом. Скоро провайдеры начнут её продавать, а пока можно попробовать бесплатно. Оцените интерфейс, создайте сайт и п...
Вступление Снова всем привет. На этот раз статья не будет поднимать «сурьезные» вопросы. Это будет рассказ о том, как не зная программирования, но будучи достаточно смекалистым и вниматель...
В Челябинске проходят митапы системных администраторов Sysadminka, и на последнем из них я делал доклад о нашем решении для работы приложений на 1С-Битрикс в Kubernetes. Битрикс, Kubernetes, Сep...