ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Безопасное хранилище[Writeup] (https://forum.antichat.xyz/showthread.php?t=1643319)

vov4ick 20.04.2024 19:28

Приветствую всех тех кто увлекается 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