Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:17402
HistoryJul 03, 2007 - 12:00 a.m.

[Full-disclosure] POWER PHLOGGER v.2.2.5 (username) SQL Injection

2007-07-0300:00:00
vulners.com
53

POWER PHLOGGER v.2.2.5 (username) SQL Injection

Author: Attila Gerendi (Darkz)
Date: June 25, 2007
Package: POWER PHLOGGER (http://www.phpee.com/)
Versions Affected: v.2.2.5 (Other versions may also be affected)
Severity: SQL Injection

Description:

Input passed to the "username" parameter in "login.php" isn't properly
sanitised before being used in
a SQL query. This can be exploited to manipulate SQL queries by injecting
arbitrary SQL code and
bypass login sequence.

This SQL injection is "blind" so the user can not produce variations in the
server input however using
BENCHMARK it still can be used to retrieve sensitive data from the database
and/or heavily load the server
and produce DDOS attack.

The vulnerable code piece is in "/include/get_userdata.php"

/* assign the user's values */
$sql = "SELECT * FROM ".PPHL_TBL_USERS." WHERE id='$id' OR username='$id'";
$res = mysql_query($sql);

the vulnerable parameter at this point is $id and it is set trough session
variable $username from login.php
without any sanitation.

Status:
The product web page say: "Active development of PowerPhlogger has been
stopped as of August 2006.
The announced successor Phlogger3 will not be released. Also, I am not able
to provide you with support for
any previous version.", so any user using this version should correct the
bug herself.

Solution:

modify
/* assign the user's values */
$sql = "SELECT * FROM ".PPHL_TBL_USERS." WHERE id='$id' OR username='$id'";
$res = mysql_query($sql);

to

/* assign the user's values */
$id = mysql_escape_string($id);
$sql = "SELECT * FROM ".PPHL_TBL_USERS." WHERE id='$id' OR username='$id'";
$res = mysql_query($sql);