PHP双引号的隐患

PHP很多语法特性会让攻击者有机可乘,例如PHP会检测双引号中的变量。
执行如下代码:

1 function test()
2 {
3 echo "abc";
4 }
5 echo "${@test()}";
6 
7 //或者
8 echo "${@phpinfo()}";

原理如下:

1 $a = 'b';
2 $b = 'a';
3 
4 echo $$a; //a

以上就利用了PHP可变变量,双引号{}可解析双引号内的变量内容特性制造出来的小麻烦。

原文地址:https://www.cnblogs.com/zqifa/p/php-5.html