Локальное включение файлов

Практика



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

   <?php
   $file = $_GET['file'];
   if(isset($file))
   {
       include("pages/$file");
   }
   else
   {
       include("index.php");
   }
   ?>

 

Законный запрос к скрипту может выглядеть так:

   http://example.com/index.php?file=contactus.php

Это бесполезно для потенциального злоумышленника, который с большей вероятностью будет интересоваться файлами вне каталога pages /. Для этого злоумышленник может использовать LFI. Простейшим примером будет:

   http://example.com/index.php?file=../../../../etc/passwd

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

Уклонение фильтра

Большинство хороших администраторов будут защищены от самых простых атак LFI, поэтому мы должны соответствующим образом обновить скрипт примера.

 

   <?php
   $file = str_replace('../', '', $_GET['file']);
   if(isset($file))
   {
       include("pages/$file");
   }
   else
   {
       include("index.php");
   }
   ?>

 

Теперь наша простая атака LFI больше не будет работать. Очевидно, что мы не хотим, чтобы это сдерживало нас, поэтому нам нужно найти способ, чтобы наш обход каталога работал, избегая фильтров. Один из способов сделать это - закодировать один или несколько символов в шестнадцатеричное. Это работает, потому что браузер декодирует ввод, а PHP - нет. Наш новый LFI будет:

   http://example.com/index.php?file=..%2F..%2F..%2F..%2Fetc%2Fpasswd

Дальнейшие заметки

Атаки LFI часто сочетаются с атаками Poison Null Byte , что помогает им обходить другие средства защиты, которые могут быть установлены.

создано: 2020-07-02
обновлено: 2021-03-13
132373



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность.

Термины: Криптография и Криптоанализ. Стеганография. Защита Информации и информационная безопасность.