Сегодня я хочу тебе показать на практике, как может применяться атака Directory Traversal или Path Traversal. Это очень простая и популярная атака. Но с ее помощью можно получить доступ к важной информации на сервере. Как это сделать, и какие основные особенности этой атаки я расскажу в этой статье. Мы планируем выпустить целую подборку статей по WEBу, поэтому рекомендую тебе быть в теме, чтоб не пропустить следующие материалы.
Помимо стандартных документов на вебсервер загружаются разные файлы, скрипты, шаблоны конфигураций и другие документы. При правильной настройке, пользователь не может получить доступ к этим файлам. У него просто нет прав на другие директории. Обычно, при переходе на такую страницу ты видишь 403 код ошибки.
Нам особенно интересны случаи, когда возникают ошибки конфигураций и эти директории (по случайности или по глупости) открыты и мы получаем доступ со всеми правами (root). Это позволяет нам просматривать файлы, изменять их, а также проводить другие манипуляции. Именно этим мы сегодня и займемся, разминаясь на конкретных примерах.
Очень полезно анализировать информацию о найденных и уже описанных уязвимостях. Например, найти уязвимый плагин или CMS на Exploit Database, прочекать аналогичные системы в Shodan и получить сливки в виде актуальных результатов. Этот способ больше подходит для случаев, когда нужно массово получать доступ к серверам, а не проверять конкретный кейс.
Для конкретных задач отлично подойдут автоматические сканеры, например Acunetix и Netsparker. Почти самый популярный случай, когда в урле передается параметр:
http://some_site.com.br/get-files.jsp?file=report.pdf
А потом бывает вот так:
http://some_site.com.br/../../../../etc/shadow http://some_site.com.br/get-files?file=/etc/passwd
Но в общем случае это выглядит примерно вот как:
http://some_site.com.br/../../../../some dir/some file
Также существуют автоматические инструменты, например dotdotpwn. Можно скачать с гитхаба. Инструмент давненько не обновлялся, но со своими функциями справляется на ура.
Софт максимально простой, но достаточно быстро подбирает возможные варианты по списку пейлоадов.
Если что-то нашлось, то видим такое сообщение:
Дабы не углубляться в скучную теорию, покажу тебе на практике. Мне в руки попался сервер вот с такой версией. Ну не счастье ли?
Проверяем ее на наличие уязвимостей на exploit-db и получаем вот такую страницу с надписью: «GlassFish Server — Arbitrary File Read».
Нам нужно с этой страницы вытащить строчку, которая позволяет прочитать файл /etc/passwd. А все просто потому, что в нем есть пользователи системы, их никнеймы, идентификаторы, а также домашние каталоги. Информация о паролях, как правило, хранится где-то в другом месте. И так добавим в адрес строку (вместо http://site.com:4848 подставляем свой домен с портом):
http://site.com:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd
Читаем в ответе содержание файла:
Можем еще попробовать вытащить информацию о системе или вызвать дополнительные ошибки с помощью такой команды:
http://site.com:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/issues
Но, самая интересная штука происходит тогда, когда ты узнал, что какая-то информация подгружается из файла, а ты знаешь, где этот файл лежит. Тогда вообще никакого труда не составит взять и прочитать его. Достаточно вместо нашей стандартной строки, дописать нужный файл, и получить его содержание. Я, например, точно знал, что в корне лежит файл logs.txt. Также, там могут лежать и другие файлы ― логи, скрипты и даже данные с доступами на другие сервера.
http://site.com:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/logs.txt
Вот так выглядит эта уязвимость. Встречается она на разных ресурсах. С ее помощью можно скачать файлы, прочитать конфиги, а также получить доступ к интересным директориям. По моим показателям найденных уязвимостей, она занимает уверенное третье место, после невероятных XSS и SQL, которые мы разберем в следующих статьях. Помни, что автоматические инструменты и подходы это всегда хорошо, но бывает, иногда нужно попотеть и найти что-то ручками. Ведь сканеры видят далеко не всё. Полученный результат может принести хорошие деньги. Ведь его ещё не затаскали до дыр, прочекав тысячу раз. На этом все, до следующих статей.
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…
View Comments
Хорошая статья. Позволила найти в ПО одну ошибку. Теперь чуть меньше проблем с безопасностью.