![]() |
Приветствую всех тех кто увлекается CTF, этот райтап будет посвящен заданию Безопасное хранилище в категории Веб на Antichat.
https://forum.antichat.xyz/attachmen...3624466472.png Задание может завести вас в тупик, так же как и меня. Здесь я опишу свое решение данного таска, и буду признателен отписать в комментарии если вы решили его по другому. С первого взгляда это обычный сайт, через который можно загружать файлы на сервер. https://forum.antichat.xyz/attachmen...3621199395.png В данном случае загружать можно только PNG. В задании стоит проверка на расширение и MIME типа файла. Это легко проверяется, но в конечном счете мне ничего это не дало. В итоге я переключился на другой параметр. А именно на первое поле в создании каталога. https://forum.antichat.xyz/attachmen...3621977962.png Отправляя такой запрос мы получаем ответ, что такой каталог создан и находится по сгенерированному пути. Мы воспользуемся такой инъекцией как OS Command Injection. Это тип атаки на безопасность веб-приложений, когда злоумышленник может выполнить произвольные операционные системные команды на сервере, используя уязвимость в обработке входных данных. Попробуем использовать ее и посмотрим на ответ : https://forum.antichat.xyz/attachmen...5c5a379586.png В нашем примере мы передали через | ls команду которая обычно используется для вывода содержимого текущего каталога. Попробуем посмотреть содержимое каталога чуть выше : https://forum.antichat.xyz/attachmen...53ea6c92eb.png Успех нужный файл с флагом найден, нам останется только прочитать его. Это я оставлю тем кто еще только на пути решения. Вывод: Если веб-приложение не обрабатывает входные данные правильным образом и позволяет выполнение таких команд напрямую на сервере, то злоумышленник может получить доступ к системным данным, выполнить нежелательные операции и взломать сервер. Для защиты от подобных атак необходимо тщательно фильтровать и валидировать все входные данные, избегать использования сомнительных символов и операторов в командах, а также использовать безопасные методы обработки данных, например, пользуясь подготовленными запросами в базе данных или использованием специальных библиотек для обработки файлов и команд. |
| Время: 06:40 |