[VIM] Not Quite: Ivan Gallery Script V.0.1 (index.php) Remote File Include Exploit
George A. Theall
theall at tenablesecurity.com
Tue Apr 17 01:37:31 UTC 2007
Bugtraq 23519 is not quite right. It concerns the Gallery script,
included as part of the Simple PHP Scripts project on SourceForge,
http://sourceforge.net/projects/sphp/.
The PoC accompanying the BID tries to exploit the flaw via the 'dir'
parameter of the 'index.php' script. Let's have a look, though. Code in
index.php from gallery-0.3.tar.bz2 looks like this:
$dir = '.';
session_start();
if (empty($_SESSION['images']) || isset($_GET['reload']))
{
session_destroy();
session_start();
...
if (!empty($_REQUEST['gallery']))
$_SESSION['gallery'] = $_REQUEST['gallery'];
if (!empty($_SESSION['gallery']))
$dir = $_SESSION['gallery'];
...
if (file_exists($dir.'/gallery.inc.php'))
include($dir.'/gallery.inc.php');
$dir is initialized early on and the omitted code doesn't offer any
possibility to override it via, say, some type of register globals
emulation. Yet as should be obvious, there is a file include issue that
can be easily exploited. It's just that an attacker needs to use the
'gallery' request parameter rather than 'dir' and ensure the session is
a new one.
Another problem with the advisory is that the call to file_exists()
above limits the types of remote files that can be included. For
example, something like 'http://www.different-site.com/cmd.txt' as used
in the advisory won't fly but something like
'//computername/share/filename' might.
George
--
theall at tenablesecurity.com
More information about the VIM
mailing list