![]() |
Writeup который подтолкнул меня на самостоятельное решение этого task-а:
Antichat - Antichat - Странный сервер [Writeup] От автора я узнал про SSTImap и с серьезным настроем начал сам добывать флаг. Приступим к решению с помощью инструмента SSTImap Давайте клонируем github репозиторий данного инструмента. Для начала скопируем ссылку: Далее в терминале перейдем в директорию /opt и введем следующую команду: Дождемся клонирования и запустим инструмент со следующими опциями: Где GET запрос ?test=test является полезной нагрузкой (payload - ом). Так мы узнаем использует ли сайт шаблонизатор. Как видим – да использует, этошаблонизатор Jinja2 написанный на python. Давайте просмотрим--help к SSTImap. Увидим, что есть опция–reverse-shell HOST PORT, в дальнейшем она нам пригодится для эксплуатации RCE уязвимости. Перейдем в браузер, в поисковой строке браузера пишемpayload jinja2 и переходим по самой первой ссылке. Берем базовый payload{{7*7}} и возвращаемся в терминал, давайте вновь применим SSTImap! Но перед этим нам необходимо запустить сервер с командой: Наш сервер будет слушать 8000 порт и именно на нашем сервере мы проэксплуатируем RCE при помощи reverse shell. Мы примем подключение от атакуемого сервера. Далее в терминале пропишем следующую команду: Как вы можете видеть мы используем найденный нами payload {{7*7}}. После того как инструмент отработает, вернемся к нашему серверу и увидим, что мы проэксплуатировали SSTI и RCE: Спасибо за внимание, успехов! |
Решил проще, shell не понадобился
Код:
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('cat flag.txt').read() }} |
Для большего понимания как решил Cruel Lord, можно ознакомиться с этим, как раз разбор самой техники
|
| Время: 01:04 |