"За пределами Директорий: Исследование Уязвимости Path Traversal или как я получил флаг"
Приветствую читателей и любителей codeby.games. Сегодня рассмотрим таск "Заметки" из категории Веб.
Начинаем мы с изучения сайта, и видим что у нас есть форма входа и регистрация:
Регистрируемся и попадаем в личный кабинет, где мы можем создавать свои заметки во вкладке Create,
Вкладка List отображает созданные заметки или имеющиеся.
Пока ничего не понятно, но у нас есть исходники к этому таску. Нам объязательно нужно их изучить.
И что же мы видим там интересного? Смотрим login.php:
Здесь мы понимаем что, приложение записывает данные пользователя в файл secret_data.json и при входе
берет данные оттуда же. Для нас уже отпадает один вектор. Изучаем код дальше:
В файле list_notes присутствует декод base64 username и далее использует его для поиска заметок:
Это весьма заметно при обычном перехвате запроса в Burp:
Сейчас мы попробуем протестировать такую атаку как Path Traversal, кто то спросит что это вообще такое:
Уязвимость обхода пути (Path Traversal) позволяет злоумышленникам обходить приложение для доступа к ограниченным файлам/каталогам сервера.
Используя эту уязвимость, злоумышленник может получить доступ к коду, учетным данным внутренних серверов, файлам/библиотекам операционной системы и т.д.
И что мы должны с этим всем делать?
Нам нужно использовать символы перехода между директориями ../../.
В самом Burp можно декодить и энкодить, это очень удобно :
Теперь нам нужно вставить этот подготовленный username.
Все что под цифрой 1 вместо 2, %3D мы не трогаем. Подставили, теперь удаляем то , что у нас под цифрой 1 и нажимаем Forward.
Мы отправили запрос на сервер и видим изменения в нашей картотеке:
Бинго, флаг получен.
Таким интересным способом мы получили доступ к конфиденциальным файлам/каталогам, используя эту атаку.
Задание простое, но для выполнения требует базовых знаний по данному виду уязвимости.
Спасибо за внимание и отдельное спасибо создателям таска.
Приветствую читателей и любителей codeby.games. Сегодня рассмотрим таск "Заметки" из категории Веб.
Начинаем мы с изучения сайта, и видим что у нас есть форма входа и регистрация:
Регистрируемся и попадаем в личный кабинет, где мы можем создавать свои заметки во вкладке Create,
Вкладка List отображает созданные заметки или имеющиеся.
Пока ничего не понятно, но у нас есть исходники к этому таску. Нам объязательно нужно их изучить.
И что же мы видим там интересного? Смотрим login.php:
Здесь мы понимаем что, приложение записывает данные пользователя в файл secret_data.json и при входе
берет данные оттуда же. Для нас уже отпадает один вектор. Изучаем код дальше:
В файле list_notes присутствует декод base64 username и далее использует его для поиска заметок:
Это весьма заметно при обычном перехвате запроса в Burp:
Сейчас мы попробуем протестировать такую атаку как Path Traversal, кто то спросит что это вообще такое:
Уязвимость обхода пути (Path Traversal) позволяет злоумышленникам обходить приложение для доступа к ограниченным файлам/каталогам сервера.
Используя эту уязвимость, злоумышленник может получить доступ к коду, учетным данным внутренних серверов, файлам/библиотекам операционной системы и т.д.
И что мы должны с этим всем делать?
Нам нужно использовать символы перехода между директориями ../../.
В самом Burp можно декодить и энкодить, это очень удобно :
Теперь нам нужно вставить этот подготовленный username.
Все что под цифрой 1 вместо 2, %3D мы не трогаем. Подставили, теперь удаляем то , что у нас под цифрой 1 и нажимаем Forward.
Мы отправили запрос на сервер и видим изменения в нашей картотеке:
Бинго, флаг получен.
Таким интересным способом мы получили доступ к конфиденциальным файлам/каталогам, используя эту атаку.
Задание простое, но для выполнения требует базовых знаний по данному виду уязвимости.
Спасибо за внимание и отдельное спасибо создателям таска.