被黑客攻击,这段代码做了什么?

时间:2010-09-14 11:01:49

标签: php security

警告:这是一种可能的漏洞。如果您不确定如何处理,请不要直接在您的服务器上运行。

http://pastehtml.com/view/1b1m2r6.txt

我相信这是通过不安全的上传脚本上传的。如何解码和解压缩此代码?在浏览器中运行它可能会将其作为shell脚本执行,打开端口或其他东西。

我可以在线进行base64解码,但我无法真正解压缩。

5 个答案:

答案 0 :(得分:32)

所以有一个字符串。它是gzip和base64编码的,代码对base64进行解码然后解压缩。

完成后,我得到了这个结果:

<? eval(base64_decode('...')); ?>

base64的另一个层,长度为720440字节。

现在,base64解码了,我们有506961字节的漏洞利用代码。

我还在检查代码,当我有更多的了解时会更新这个答案。代码很大。

仍在阅读代码,并且(非常好的)漏洞允许这些工具暴露给黑客:

  • TCP后门设置
  • 未经授权的shell访问
  • 读取所有htpasswd,htaccess,密码和配置文件
  • 日志擦除
  • MySQL访问(读,写)
  • 将代码附加到与名称模式匹配的所有文件(批量利用)
  • RFI / LFI扫描仪
  • UDP泛滥
  • 内核信息

这可能是一个专业的基于PHP的服务器范围的漏洞利用工具包,并且看到它有一个很好的HTML界面和整个批次,它可以很容易地被专业黑客,甚至是脚本小家伙使用。

这个漏洞被称为c99shell(感谢Yi Jiang),结果已经非常受欢迎,已经被讨论并运行了几年。谷歌在这个漏洞利用方面有很多结果。

答案 1 :(得分:16)

看看Delan的解码源,它似乎是一个成熟的后门,提供了一个可用于以各种方式控制服务器的Web界面。从来源讲述片段:

echo '<center>Are you sure you want to install an IP:Port proxy on this
website/server?<br />

<b>Mass Code Injection:</b><br><br>
Use this to add PHP to the end of every .php page in the directory specified.

echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . 
     round(($pakits*65)/1024, 2) . " MB) packets averaging ". 
     round($pakits/$exec_time, 2) . " packets per second \n";

if (!$fp) {echo "Can't get /etc/passwd for password-list.";}

我建议您擦洗该服务器并从头开始重新安装。

答案 2 :(得分:7)

我知道Delan Azabani已经这样做了,但实际上你知道他是如何获得数据的:

如果您想知道如何解压缩,请使用base64 -d filename > output解析base64字符串,使用gunzip file.name.gz解析gzip压缩数据。

诀窍在于认识到你所拥有的是base64或gunzip并解压缩正确的位。

这种方式在JS解析器或PHP解析器附近无处可去。

答案 3 :(得分:3)

首先,将eval替换为echo以查看如果您允许它将执行的代码。 将该脚本的输出发送到另一个文件,例如test2.php。 在该文件中,再次执行相同的操作。运行它,它将输出完整的恶意程序(它是一个非常野兽),大约4k行黑客的喜悦。

答案 4 :(得分:2)

这是php shell的代码 解码这个

替换替换eval(“?&gt;”。与print( 运行这个

php5 file.php > file2.php

然后用print替换eval并在浏览器中运行。 http://loclhost/file2.php