#24 Bug Bounty v.2 — Directory Traversal
Здравствуйте, дорогие друзья.
Directory Traversal — это уязвимость, которая возникает, когда разработчики неправильно используют пользовательский ввод для извлечения файлов из операционной системы. Как вы, возможно, знаете, “../” символы будут перемещаться обратно в один каталог, поэтому, если эта строка используется для извлечения файлов, вы можете извлекать конфиденциальные файлы, перемещаясь вверх или вниз по файловой структуре.
Как вы можете видеть выше, символы “../” используются для перехода на один каталог выше текущего.
Directory Traversal
Если вы видите приложение, использующее пользовательский ввод для извлечения файлов, вам следует немедленно протестировать его, чтобы убедиться, что оно уязвимо для обхода каталога. Это довольно легко заметить, как показано ниже:
● https://example.ru/?page=index.html
Как вы можете видеть, существует параметр GET, называемый page, который используется для загрузки содержимого “index.html”. При неправильной реализации злоумышленники используют метод “../” для загрузки любого файла, который они хотят.
Как вы можете видеть выше, параметр GET “page” загружается в переменную с именем “file”. Затем в строке 10 файл открывается и считывается на страницу. Вы можете четко видеть, что никаких дополнительных проверок нет, поэтому мы сможем воспользоваться этим.
Как вы можете видеть, мы воспользовались этой уязвимостью, чтобы получить файл “/etc/passwd” из операционной системы. Если вы не знали, файл “/etc/passwd” используется для хранения информации о каждой учетной записи пользователя в системе Linux.
Резюме
Обход каталога — это простая ошибка, которую разработчики могут исправить, если они неправильно мыслят при написании кода. Если приложение использует вводимые пользователем данные для взаимодействия с файлами в системе, то есть вероятность, что конечная точка уязвима для обхода каталога. Если вы все-таки обнаружите эту уязвимость, обязательно поищите конфигурационные файлы, исходный код или, если она есть в функция загрузки попробуйте перезаписать файлы на диске.
На этом все. Всем хорошего дня!