Кибербезопасность
December 10, 2024

PortSwigger Web Academy - Path Traversal Labs

Сегодня разберем еще одну несложную для понимания веб-уязвимость, а именно Path Traversal.

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

Lab: File path traversal, simple case

В описании к данной лабе дана подсказка, что уязвимость содержится в логике отображения картинки товара. Перед нами стоит задача вызвать уязвимость обхода каталога и достать с сервера чувствительный файла /etc/passwd (в Linux данный файл хранит информацию об учетных записях и ролях). Приступаем!

Так выглядят карточки продуктов с подопытного сайта

Давайте заглянем внутрь карточки и посмотрим в консоли, как выглядят запросы для получения картинок с карточек, а еще лучше расчехлить burp.

Так выглядит картинка при запросе по URL

Обратим внимание, что URL в запросах формируются следующим образом:

.../image?filename=48.jpg

Сервер при формировании такого URL отдает нам картинку. А может он нам и /etc/passwd отдаст?? Попробуем...

Почему-то не вышло...

Почему же мы не смогли получить доступ к файлу?? Все просто, мы не в той директории, попытаемся выбраться в корневую директорию и найти там файл по пути /etc/passwd. Как? Разберемся ниже...

Пути отображаются через обычный слэш, так что сервер линуксовый. Выбраться из текущей директории можно с помощью двух точек (..). Как в итоге должно выглядеть продолжение нашего URL - ../image?filename= ?? Будем добавлять ../ - пока не получим доступ к файлу выберемся в корневую директорию.

Через последовательность выходов из текущей директории мы смогли попасть в корневую и извлечь файл /etc/passwd

На этом задача, поставленная в лабе, выполнена! Подведем итог.

Итог

На примере данной лабы продемонстрирована уязвимость Path Traversal. Из-за недостаточной обработки и санитайзинга пользовательского ввода(отправляемых запросов) сервер вместе с безобидными картинками для карточек товаров при нехитрых манипуляциях с радостью отдает нам чувствительные системные файлы!