Автор: @puzzlejoy

Ссылка на таск Codeby

https://codeby.games/categories/web/d5c47306-5d4f-4ad4-958f-5414a0b85b9b

Описание задания

Должно быть всё очень просто…

Решение

В названии таска у нас самая настоящая подсказка, которая является отправной точкой для решения задания.

На первый взгляд кажется, что сайт пустой - нас встречает какой-то html слайдер, ничего интересного.

Но у сайта есть особенность - в определенных ситуациях, когда мы пытаемся найти на сайте что-то, чего там априори нет, нас редиректит на некую страницу “ERROR 404”, которая на самом деле не является HTTP-ответом об ошибке, и, чтобы это проверить, воспользуемся Burp Suite и убедимся, что страница возвращает код 200 вместо положенного 404:

Приглядимся к ответу сервера внимательнее, написанный нами текст отправляется в контекст HTML-шаблона страницы.

По мимо этого замечаем, что сайт поднят на python/3.9.18

Учитывая всё это, мы можем предположить, что перед нами SSTI (Server-Side Template Injection), опасность которой заключается в том, что при наличии этой уязвимости мы можем выполнять произвольный код на сервере, и, соответственно, получить доступ к конфиденциальным данным.

Проверим справедливость наших размышлений с помощью простейшего эксплойта:

Мы ввели 7*\7 и получили 49. Это значит, что вводимые нами данные интерпретируются на стороне сервера.

{{...}}: Это часть синтаксиса шаблонов, который используется во многих шаблонных системах, таких как Jinja2 в Python, для вставки динамического содержимого. Поэтому создавая полезную нагрузку, мы будем ориентироваться на этот факт.

Чтобы “докрутить” SSTI до OS command injection можем импортировать модуль “os”, который будет взаимодействовать непосредственно с операционной системой сервера:

Команда “id” успешно выполнилась и указала на то, что мы имеем доступ к системе под пользователем root (какая удача).

Посмотрим, что находится в домашней директории (обратите внимание на то, что некоторые спецсимволы url-кодируются):

Прочитаем его и получим флаг:

      Флаг     Флаг

Tags:

#codeby#writeup#web#easy