Contact

Contact us

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

Authentication bypass in phpBannerExchange

RedTeam identified two SQL injections in phpBannerExchange. It is possible to bypass user authentication with them.

Details

  • Product: phpBannerExchange
  • Affected Versions: All versions up to phpBannerExchange 2.0 RC5
  • Fixed Versions: 2.0 RC6
  • Vulnerability Type: SQL injections
  • Security-Risk: high
  • Vendor-URL: http://www.eschew.net/scripts/phpbe/2.0/
  • Vendor-Status: informed, fixed version released
  • Advisory-URL: https://www.redteam-pentesting.de/advisories/rt-sa-2006-004
  • Advisory-Status: public
  • CVE: CVE-2006-3012
  • CVE-URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-3012

Introduction

From the vendor’s homepage: phpBannerExchange is a PHP/mySQL script that allows virtually anyone with minimal knowledge of PHP, mySQL and web hosting to run their own banner exchange.

More Details

In file “client/stats.php” the variables $login and $pass are not sanitized at all.

[...]
42    $login=$_REQUEST['login'];
43    $pass=$_REQUEST['pass'];
[...]

If plaintext password are allowed ($usemd5 != “Y”), following SQL query is used:

[...]
59    $result = mysql_query("select * from banneruser where
                             login='$login' AND pass='$pass'");
[...]

By passing the special character “’” it is possible to alter the SQL query and bypass authentication.

A similar vulnerability exists in “admin/stats.php”:

[...]
49    $login=$_SESSION['login'];
50    $pass=$_SESSION['pass'];
[...]
54    $result = mysql_query("select * from banneradmin where 
                             adminuser='$login' 
                             AND adminpass='$encpw'");
[...]

Proof of Concept

User login or administrator login: Use “‘or’’=’” for both login name and password. You will be authenticated as the first user/admin in the database.

Workaround

Use PHP Magic Quotes.

Fix

Upgrade to version 2.0 RC6

Security Risk

The security risk is high because an attacker could gain access to an administrator account and view and alter the database and hereby compromise the whole application.

History

  • 2006-06-09 Discovery of the problem
  • 2006-06-10 Vendor is informed
  • 2006-06-12 Vendor releases fixed version
  • 2006-06-15 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.