php create_function()产生的漏洞

create_function(‘参数’,’函数体’):

官方example:


$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);'); 
echo "New anonymous function: $newfunc\n";
echo $newfunc(2, M_E) . "\n";
?>
 outputs
 New anonymous function: lambda_1
 ln(2) + ln(2.718281828459) = 1.6931471805599

自己编写的example:

$a=$_GET['id'];
$b='echo'.$a.";";
$f=create_function('$a',$b);  /* 参数 '$a' $b 函数体
$f($a);
?>
这个匿名函数相当于这样的创建函数过程:

function niming($a){  
       echo $id.'is'.$a;
}

id=1;}phpinfo();/*
可以看到phpinfo的信息;

你可能感兴趣的:(php,信息安全)