2012-04-21 101 views
0

我有一个网站,用户可以上传文件与他人分享。但首先我需要验证它们。 最近有人上传有以下命令的PHP文件:这个脚本是做什么的?

‰PNG 

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

?> 

我想这可能是有害的,所以我没有打开它。

有没有人有任何想法它做什么?

+5

它有些恶意。用'echo'替换'eval'并看一看。或者至少张贴实际的字符串,以便我们解码它。 – DCoder 2012-04-21 06:56:53

+1

可能的重复[如何解码eval(gzinflate(base64_decode(](http://stackoverflow.com/questions/3701291/how-to-decode-eval-gzinflate-base64-decode) – 2012-04-21 07:03:16

+3

看着stackoverflow网站我很惭愧看看有多少人不知道这个网站叫做google – 2012-04-21 07:06:06

回答

2

似乎攻击者的代码是base64编码和gzipped。

因此,首先将代码从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喜欢的界面,用户可以尝试不同的查询和收集关于你的数据库的元数据。也许其他的东西跑到执行等等。

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

+0

请问您可以在我发布在我的问题网站的联系页面上发布代码 – Haz 2012-04-21 08:29:16

+0

当然,我会尝试发送。希望你的表单没有字符限制。长脚本。 – Gohn67 2012-04-21 08:35:09

+0

无论如何,我发送它。希望它能通过。 – Gohn67 2012-04-21 08:43:05

3

没有人可以告诉你,只是做

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

,看看它做....

编辑:现在好了,你已经张贴整个字符串解码,我和它粘贴它here

+0

我的反病毒给了我这个警报: 遇到以下威胁: 请求的对象感染下列病毒:Backdoor.PHP.Rst.bl – Haz 2012-04-21 07:31:37

+2

如果那里有一些XSS代码会怎么样?也许PHP会以文本的形式出现。但是,如果有js和html以及图像链接,则会输出这些链接。可能他为什么得到反病毒警告。虽然我承认我的建议写入文件,然后查看它可能是愚蠢的。虽然我很幸运。 – Gohn67 2012-04-21 08:39:17

+0

不是一个好主意 – Haz 2012-04-23 06:55:36

0

的代码是好的,你需要照顾的唯一事情是加密

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

这类声明的参考,你可以参考

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

的长字符串
+0

他问,如果它工作或如何... – 2012-04-21 07:05:33