CTF Codeby Games - Джарвис [Writeup]

1702631358505.png

  • Вступление
  • Определение точки входа
  • Эксплуатация
  • Профит
Добро пожаловать, уважаемые читатели этого форума, а также участники CTF-платформы Codeby Games! Давненько от меня не было авторских врайтапов, и вот сегодня, я решил исправиться.

Codeby Games представляет собой современную, интуитивно понятную, активно развивающуюся среду для новичков и профессионалов в сфере информационной безопасности и программирования.

Сегодня мы разберем с вами задание с платформы Codeby Games - Джарвис / Веб.

1702633260903.png


Откроем в браузере сайт

1702631884681.png



Нам предлагают загрузить аудио-файл, который скрипт потом переведет в текст. Но, так же нам доступны какие-то кейкоды. Нажимаем на кнопку KeyCodes

1702631961491.png


Тут нам объясняют, каким образом передавать специальные символы/знаки, потому-что программа может переводить только буквы и цифры. Ниже видим пример, как использовать кейкоды.



Эксплуатация

После интенсивного фаззинга, сканирования и прочих попыток хоть что-то найти, вспоминаем что веб-приложение поднято на Python/Flask

1702632156315.png


Раз в специальных символах есть кейкоды для { и }, мы можем проверить приложение на наличие уязвимости SSTI (Server Side Template Injection)

Находим любой онлайн-сервис для создания голосовой записи по тексту. Я буду пользоваться этим - .

Создаем запись с текстом для нагрузки {{7*7}}, соблюдая кейкоды

1702632281920.png


Получится что-то вроде этого F5 F5 7 F3 7 F6 F6

F5 - {

F3 - *

F6 - }



Скачиваем запись и конвертируем в .wav, так как с другими форматами веб-приложение не умеет работать

1702632368163.png


Загружаем нашу запись с пейлоадом через форму загрузки

1702632404117.png



Момент истины...

1702632445277.png


Отлично! Мы выяснили, что веб-приложения уязвимо к проведению атаки SSTI. Вряд ли нас просят в таких условиях взять RCE (Remote Code Execution), так что, попробуем прочесть конфигурацию веб-приложения

Полезная нагрузка: {{config.items()}}
Этот пейлоад нужно перевести в формат, который поймет веб-приложение, соблюдая кейкоды

Конечный пейлоад для озвучки будет таким: F5 F5 config F7 items F1 F2 F6 F6

1702632549424.png


Скачиваем запись, конвертируем в WAV и скармливаем форме загрузки.

1702632578761.png


Выбираем только что подготовленную запись

1702632676863.png


Бинго!
 

Вложения

  • 1702633243062.png
    1702633243062.png
    23,6 КБ · Просмотры: 434
Последнее редактирование:

JennieHodges

New member
03.04.2024
2
0
BIT
9
Меня проинструктировали, как переводить специальные символы/знаки, ведь программа умеет переводить только буквы и цифры. Ниже приведен пример загрузки новой игры, , как использовать ключ.
 
Мы в соцсетях:

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