Hi,

[EMAIL PROTECTED] schrieb am Tue, 29 Aug 2006 16:41:12 +0000:

>+ModuleBased CMS(MBCMS) multiple remote file Inclusion
>
>+discripton:MBCMS (ModuleBased CMS) is a new CMS designed for ease of use
>and customability. It is designed +for PHP/MySQL and it is easy to write
>new modules or templates to suit a particular website. 
>
>+version:alfa 1
>
>+vendor site:http://sourceforge.net/projects/mbcms/

[...]

>/admin/avatar.php
>
><?php
>
>include_once($_SERVER[DOCUMENT_ROOT]."/libs/profile.class.php");
>
>include($_SERVER[DOCUMENT_ROOT]."/libs/config.php");
>
[...]

All of this could work. 
If (and only if) _SERVER[DOCUMENT_ROOT] can be manipulated 
through GET- or POST-parameters. 

Is this possible?

<http://www.php.net/manual/en/reserved.variables.php>
states
"$_SERVER is an array containing information  such as 
headers, paths, and script locations. The entries in this
array are created by the webserver."

and especially for DOCUMENT_ROOT:

"'DOCUMENT_ROOT'
    The document root directory under which the current 
    script is  executing, as defined in the server's 
    configuration file."

I made some tests (Apache with several combinations of
register_globals-settings etc.), and every time the 
$_SERVER[DOCUMENT_ROOT] was set from the Apache-
configuration. Since I have no IIS for tests at the
moment I can say nothing about the behavior there. But
even if a manipulation is possible with IIS I would tend
to see the vulnerability in IIS and not in PHP or the
scripts.


If there is no way to change $_SERVER[DOCUMENT_ROOT],
then there are no vulnerabilities in MBCMS.

Otherwise I bet we will see much more RFI-vulnerabilities
due unchecked $_SERVER[DOCUMENT_ROOT] in include()- and
require()-statements in the future, since the usage of 
this variable is a common way to create portable scripts.

Regards
  Carsten

-- 
Dipl.-Inform. Carsten Eilers
IT-Sicherheit und Datenschutz

<http://www.ceilers-it.de>


Reply via email to