PHP双引号的隐患

Posted zqifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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可变变量,双引号{}可解析双引号内的变量内容特性制造出来的小麻烦。

以上是关于PHP双引号的隐患的主要内容,如果未能解决你的问题,请参考以下文章

浅谈PHP中单引号和双引号到底有什么区别呢?

用双引号或单引号打印 HTML 和 PHP 代码

PHP中双引号引起的命令执行漏洞(Kuwebs代码审计 )

(转)PHP代码细节处理

PHP中单引号双引号使用原则

PHP中单引号双引号使用原则