апр
15
Что такое LFI?
LFI (англ. Local File Include) – означает некую возможность, позволяющую выполнять локальные файлы на стороне сервера. Данная уязвимость позволит для удаленного пользователя посредством специально подготовленного запроса получить свободный доступ практически к любым файлам сервера, и степень конфиденциальности открываемой информации не будет здесь иметь никакого значения.
LFI уязвимость относится к угрозам максимальной степени опасности для сайтов. Если на каком-либо сайте эксплуатируется данная уязвимость, то его взлом не представляет собой никакой проблемы для злоумышленника.
Local File Include дает возможность как для просмотра содержимого произвольных файлов на сервере, так и их выполнения, ка произвольного кода. LFI возможен тогда, когда в коде скриптов сайта нет или недостаточно надежно организована проверка поступающих при запросе данных.
Вот пример участка кода в PHP скрипте подверженного LFI уязвимости:

Разрабатывая данный сайт программист подразумевал, что в качестве данных для формы будут поступать только валидные известные данные. В данном конкретном примере скрипт ожидал только параметры «red» или «blue». А это не есть истина всегда. Злоумышленник может спокойно вызвать скрипт на исполнение с совершенно отличными параметрами, например, http://av-host.net/script.php?color=/etc/passwd%00 что приведет к считыванию содержимого из файла «passwd» в операционной системе UNIX.
Это лишь вариант, а что конкретно взбредет в голову взломщику – это кроме него не знает никто. Уж установку шелла на Вашем сервере такой взлом точно гарантирует. Стоит внимательно подходить к выбору конкретного исполнителя по разработке и созданию сайтов. К примеру, стоит присмотреться к команде IWORKS которая занимается этим профессионально.
Зачастую такой взлом может оставаться абсолютно незамеченным, как, например, и в случае с PHP injection. Если конечной целью не был deface сайта, то и владелец, и админ могут быть в полном неведении.