PHP-ін'єкціяPHP-ін'єкція (англ. PHP injection) — один із способів злому вебсайтів, що працюють на PHP, який полягає у виконанні стороннього коду на серверній стороні. Потенційно небезпечними функціями є:
PHP-ін'єкція стає можливою, якщо вхідні параметри приймаються і використовуються без перевірки. Приклад<?
...
$module = $_GET['module'];
include ($module.'.php');
...
?>
Цей скрипт уразливий, оскільки до вмісту змінної Зломщик може на своєму сайті створити файл, що містить PHP-код ( Способи захистуІснує декілька способів захисту від такої атаки:
<?
...
$module = $_GET['module'];
if (strpbrk($module, '. ?/:') ) die('Blocked');
include $module. '.php';
...
?>
<?
...
$module = $_GET['module'];
$arr = array('main', 'about','links','forum');
if (!in_array($module, $arr) ) $module = $arr[0];
include $module. '.php' ;
...
?>
Цей спосіб є ефективнішим. PHP надає також можливість відключення використання віддалених файлів, це реалізується шляхом зміни значення опції Див. такожПосилання
|