这个脚本有什么作用


What does this script do?

我有一个网站,用户可以上传文件与他人分享。但首先我需要验证它们。最近有人使用以下命令上传了一个.php文件:

‰PNG
<?php
eval(gzinflate(base64_decode("very large strings of characters")));
?>

我认为它可能有害,所以我没有打开它。

有谁知道它的作用吗?

没人能告诉你,就行了

<?php echo gzinflate(base64_decode("very large strings of characters")) ?>

看看它会做什么....

编辑:好吧,既然您已经发布了整个字符串,我对其进行了解码并将其粘贴到此处

似乎攻击者的代码是 base64 编码和 gzip 压缩的。

因此,首先从base64编码解码代码,然后基本上将其解压缩,直到出现一串代码。

然后对生成的字符串调用 eval,该字符串将执行已解码和解压缩的代码。

但是,如果不看到生成了什么代码,就很难说它在代码运行时会做什么。


我解码了编码的文本。使用以下方法

(我想现在我想到写文件是一个坏主意。主要是如果你在Windows上。我想在关闭执行位的情况下,在 Linux 上更安全一些。所以在这种情况下我有点幸运!

<?php
$test = gzinflate(base64_decode("encoded_text"));
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w');
fwrite($fh, $test);
fclose($fh);

我将输出写入文件,以防万一有一些随机的 html 或 javascript 可以感染我的计算机,如果我只是将其回显到我的浏览器。这可能就是您收到防病毒警告的原因。

我还不确定它的作用。


只是浏览代码,就像 4,750 行代码,似乎它设置了基本身份验证。然后有很多数据库函数和一些基本的html界面。这在 PHP 中。也有一些perl。接近尾声。

基本上,它似乎这样做:显示该图像的每个页面都将输出该代码的一部分并将其与您的代码一起执行,它将尝试获取输入数据,或尝试查找会话数据和/或数据库值。

然后,代码的其他部分基本上在访问 url 时创建一个管理界面,如下所示:url?admin=1,这将启动基本身份验证。然后有一个简单的界面phpmyadmin这样的界面,用户可以在其中尝试不同的查询并收集有关数据库的元数据。可能其他东西也跑到执行官那里,等等。

我可能是错的,但这是我从代码中获得的要点。

代码很好 您唯一需要注意的是加密的长字符串

< ?php eval(gzinflate(base64_decode("very large strings of characters")));

对于此类语句的参考,您可以参考

http://php.net/manual/en/function.gzinflate.php