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

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

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

"За пределами Директорий: Исследование Уязвимости Path Traversal или как я получил флаг"



Приветствую читателей и любителей antichat. Сегодня рассмотрим таск "Заметки" из категории Веб.
Начинаем мы с изучения сайта, и видим что у нас есть форма входа и регистрация:



Регистрируемся и попадаем в личный кабинет, где мы можем создавать свои заметки во вкладке Create,
Вкладка List отображает созданные заметки или имеющиеся.



Пока ничего не понятно, но у нас есть исходники к этому таску. Нам объязательно нужно их изучить.
И что же мы видим там интересного? Смотрим login.php:



Здесь мы понимаем что, приложение записывает данные пользователя в файл secret_data.json и при входе
берет данные оттуда же. Для нас уже отпадает один вектор. Изучаем код дальше:
В файле list_notes присутствует декод base64 username и далее использует его для поиска заметок:



Это весьма заметно при обычном перехвате запроса в Burp:



Сейчас мы попробуем протестировать такую атаку как Path Traversal, кто то спросит что это вообще такое:
Уязвимость обхода пути (Path Traversal) позволяет злоумышленникам обходить приложение для доступа к ограниченным файлам/каталогам сервера.
Используя эту уязвимость, злоумышленник может получить доступ к коду, учетным данным внутренних серверов, файлам/библиотекам операционной системы и т.д.

И что мы должны с этим всем делать?
Нам нужно использовать символы перехода между директориями ../../.
В самом Burp можно декодить и энкодить, это очень удобно :



Теперь нам нужно вставить этот подготовленный username.
Все что под цифрой 1 вместо 2, %3D мы не трогаем. Подставили, теперь удаляем то , что у нас под цифрой 1 и нажимаем Forward.



Мы отправили запрос на сервер и видим изменения в нашей картотеке:



Бинго, флаг получен.
Таким интересным способом мы получили доступ к конфиденциальным файлам/каталогам, используя эту атаку.
Задание простое, но для выполнения требует базовых знаний по данному виду уязвимости.
Спасибо за внимание и отдельное спасибо создателям таска.
 
Ответить с цитированием

  #2  
Старый 23.01.2024, 21:04
ParkerRrr
Новичок
Регистрация: 23.01.2024
Сообщений: 0
С нами: 1215215

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

Добрый день, при решении задания хотел узнать, почему мы не можем получить содержимое файла www/fl4g.txt в этом куске кода? Прикреплю кусок кода и запрос, с помощью которого я пытался получить флаг в этом куске. Буду благодарен за подробное объяснение!



 
Ответить с цитированием

  #3  
Старый 24.01.2024, 06:28
Co1nj3ct
Новичок
Регистрация: 28.07.2023
Сообщений: 0
С нами: 1474202

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

Цитата:

ParkerRrr сказал(а):

Добрый день, при решении задания хотел узнать, почему мы не можем получить содержимое файла www/fl4g.txt в этом куске кода? Прикреплю кусок кода и запрос, с помощью которого я пытался получить флаг в этом куске. Буду благодарен за подробное объяснение!
Дело в том, что функция basename(), через которую переменной filename присваивается имя файла, возвращает только последнюю часть пути, то есть "../../www/fl4g.txt" превращается в "fl4g.txt".

Более подробно про эту функцию тут: Клик
 
Ответить с цитированием

  #4  
Старый 24.01.2024, 14:24
ParkerRrr
Новичок
Регистрация: 23.01.2024
Сообщений: 0
С нами: 1215215

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

Цитата:

Co1nj3ct сказал(а):

Дело в том, что функция basename(), через которую переменной filename присваивается имя файла, возвращает только последнюю часть пути, то есть "../../www/fl4g.txt" превращается в "fl4g.txt".

Более подробно про эту функцию тут: Клик
Спасибо большое за подробное объяснение! Теперь понял)
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.