HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 29.02.2024, 20:50
vov4ick
Познающий
Регистрация: 23.12.2023
Сообщений: 60
С нами: 1260136

Репутация: 0
По умолчанию

"Flask для новичков: как превратиться из Пользователя в Админа за 5 минут!"

- Приветствие

- Разведка

- Получение сессии

- Работа с инструментом

- Получение прав админа

- Вывод

Приветствую всех читателей форума и любителей CTF. Сегодня рассмотрим таск на Кодебай Геймс "Привилегированный гость" из категории Веб.

Первое что мы видим попадая на сайт какой то эмулятор терминала, так же мы находимся как гость в данном случае.



Идем в инструменты разработчика и видим такой скрипт :
Это команды которые мы можем выполнять в данном случае, другие приниматься не будут.
Соответственно с привелегиями гость используя getFlag нам ничего не перепадет.



Пробуем перехватить все это в Burp suite и проанализировать что мы имеем.
Здесь мы обратим внимание что у нас есть сессия в куках, это сессия гостя.



Через Wappalizer я вижу что стоит Flask. Для работы с сессиями будем использовать Flask Unsign.
Это инструмент командной строки для расшифровки, подделки и перебора подписанных куки-сессий Flask.
Первая ссылка на гитхабе, там довольно четкое описание для работы с инструментом.

В данном случае программа успешно декодировала нашу куку сессии Flask. Результат декодирования показывает, что сессия включает в себя
информацию о _fresh, _id и _user_id, причем идентификатор пользователя установлен в guest.



Веб-приложения Flask используют секретный ключ (secret key) для создания подписи данных, таких как сессии пользователей.
Этот секретный ключ необходим для безопасного хранения и передачи данных сессии между клиентом и сервером.
Утечка секретного ключа может привести к серьезным угрозам безопасности, поэтому его защита является важной задачей для
разработчиков веб-приложений на Flask.

Этот инструмент дает нам возможность использовать атаку на основе словаря и сбрутить наш ключ.



Уже имея наш ключ мы можем изменить значение user_id.



В целом наша сессия готова. Перехватываем запрос, вставляем нашу сессию и отправляем ее :



Ура мы админ, спокойно забираем флаг и сдаем его.



Вывод :

Используя инструмент Flask-Unsign, мы можем анализировать и изменять сеансовые куки Flask-приложений. Это демонстрирует серьезную уязвимость в безопасности, когда сессии хранятся на клиентской стороне без достаточной защиты. Подделка сеансов позволяет злоумышленнику представить себя за другого пользователя, получив доступ к его привилегиям и конфиденциальной информации.

Спасибо за внимание и отдельное спасибо Админам за такие таски.
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.