web

Практика проведения атаки Directory Traversal

Сегодня я хочу тебе показать на практике, как может применяться атака Directory Traversal или Path Traversal. Это очень простая и популярная атака. Но с ее помощью можно получить доступ к важной информации на сервере. Как это сделать, и какие основные особенности этой атаки я расскажу в этой статье. Мы планируем выпустить целую подборку статей по WEBу, поэтому рекомендую тебе быть в теме, чтоб не пропустить следующие материалы.

Что же такое Directory Traversal и сколько слешей нужно доставлять?

Помимо стандартных документов на вебсервер загружаются разные файлы, скрипты, шаблоны конфигураций и другие документы. При правильной настройке, пользователь не может получить доступ к этим файлам. У него просто нет прав на другие директории. Обычно, при переходе на такую страницу ты видишь 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. Можно скачать с гитхаба. Инструмент давненько не обновлялся, но со своими функциями справляется на ура.

Софт максимально простой, но достаточно быстро подбирает возможные варианты по списку пейлоадов.

Если что-то нашлось, то видим такое сообщение:

Перейдем к практике.

Oracle Glassfish 4.0

Дабы не углубляться в скучную теорию, покажу тебе на практике. Мне в руки попался сервер вот с такой версией. Ну не счастье ли?

Проверяем ее на наличие уязвимостей на 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, которые мы разберем в следующих статьях. Помни, что автоматические инструменты и подходы это всегда хорошо, но бывает, иногда нужно попотеть и найти что-то ручками. Ведь сканеры видят далеко не всё. Полученный результат может принести хорошие деньги. Ведь его ещё не затаскали до дыр, прочекав тысячу раз. На этом все, до следующих статей.

Click to rate this post!
[Total: 4 Average: 5]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

View Comments

  • Хорошая статья. Позволила найти в ПО одну ошибку. Теперь чуть меньше проблем с безопасностью.

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

11 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

11 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

12 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

12 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

12 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

12 месяцев ago