90% of programs made in PHP5 and prior Full Path Disclosure vuln.
:Introduction:
Normally one of the last steps when accessing to a web-server is to find the
url where the web is installed (more common in RFD).
This may be a hard step, if the RPD is the only bug in that server, but PHP
programs have functions that unexpectedly can return lots of errors.
**** ATTENTION ****
This is a design Error made by the programmers of the affected php programms,
PHP language by it is safe.
*******************
Normally a Full Path Disclosure is not dangerous, but in this case the 90% of
the programs written in PHP are vulnerable.
This is a list of 21 tested programs, in their last release at 13/05/06, 19 are
vulnerable:
-paFileDB - Affected
-PhpWiki - Affected (GET Data)
-CuteNews - Affected (GET Data)
-SMF - Affected (GET POST & COOKIE)
-phpBB - Not Affected
-phpNuke - Affected
-myBB - Affected (POST Data)
-phpMyAdmin - Affected
-PHProxy - Affected (Cookie & Post Data)
-phpSurveyor - Affected
-vBulletin - Affected (POST Data)
-PunBB - Affected (POST Data)
-XMB - Affected (just some files)
-IPB - Not Affected (some cases)
-Quick Forum - Affected
-FreeScene - Affected (POST Data)
-EBB - Affected (just some files)
-tinyBB - Affected (no filters xD)
-SciELO - Affected (GET Data)
-XOOPS - Affected (POST Data)
-SquirrelMail- Affected
The design-error AMAZINGLY USED is when you parse an Array into a function that
spect a STRING.
The mainly bug in PHP found was:
PHPSESSID *or equivalent* equal to a null-array.
when calling the function session_start(); will return an error like:
Warning: session_start(): The session id contains invalid characters, valid
characters are only a-z, A-Z and 0-9 in /%path%/test.php on line 3
** NOTE **
This error also appears when calling with no value (that also bypass filters).
This will also bypass all cleaning functions as:
-htmlentities
-urlencode
-etc..
returning "specting T_STRING" error.
:Solution:
The only way to detect is to add to your filter the condition is_array().
Also, you have to clean with this all parameters incoming from
$_REQUEST(cookie,get and post)
:Other Solution:
Disabling all errors and warnings in php.ini
:Dangereous?:
No, but a Path Disclosure can reveal sensitive information.
:Impact:
The path may contain the username of the account, includes file and path,
version of software, drive were web is installed, etc..
:Note:
I repeat. THIS IS NOT DANGEROUS, its only an aditional help you are giving to
hackers that already have access to your server.
:Research made by:
sirdarckcat
elhacker.net