- Вступление
- Определение точки входа
- Эксплуатация
- Профит
Codeby Games представляет собой современную, интуитивно понятную, активно развивающуюся среду для новичков и профессионалов в сфере информационной безопасности и программирования.
Сегодня мы разберем с вами задание с платформы Codeby Games - Джарвис / Веб.
Откроем в браузере сайт
Нам предлагают загрузить аудио-файл, который скрипт потом переведет в текст. Но, так же нам доступны какие-то кейкоды. Нажимаем на кнопку KeyCodes
Тут нам объясняют, каким образом передавать специальные символы/знаки, потому-что программа может переводить только буквы и цифры. Ниже видим пример, как использовать кейкоды.
Эксплуатация
После интенсивного фаззинга, сканирования и прочих попыток хоть что-то найти, вспоминаем что веб-приложение поднято на Python/Flask
Раз в специальных символах есть кейкоды для { и }, мы можем проверить приложение на наличие уязвимости SSTI (Server Side Template Injection)
Находим любой онлайн-сервис для создания голосовой записи по тексту. Я буду пользоваться этим -
Ссылка скрыта от гостей
.Создаем запись с текстом для нагрузки {{7*7}}, соблюдая кейкоды
Получится что-то вроде этого F5 F5 7 F3 7 F6 F6
F5 - {
F3 - *
F6 - }
Скачиваем запись и конвертируем в .wav, так как с другими форматами веб-приложение не умеет работать
Загружаем нашу запись с пейлоадом через форму загрузки
Момент истины...
Отлично! Мы выяснили, что веб-приложения уязвимо к проведению атаки SSTI. Вряд ли нас просят в таких условиях взять RCE (Remote Code Execution), так что, попробуем прочесть конфигурацию веб-приложения
Полезная нагрузка: {{config.items()}}
Этот пейлоад нужно перевести в формат, который поймет веб-приложение, соблюдая кейкоды
Конечный пейлоад для озвучки будет таким: F5 F5 config F7 items F1 F2 F6 F6
Скачиваем запись, конвертируем в WAV и скармливаем форме загрузки.
Выбираем только что подготовленную запись
Бинго!
Вложения
Последнее редактирование: