[32346] in bugtraq
Re: sql injection in phpbb
daemon@ATHENA.MIT.EDU (Marius Kaase)
Sat Nov 8 16:31:57 2003
Message-ID: <3FAD4685.2040907@kaase.net>
Date: Sat, 08 Nov 2003 20:39:49 +0100
From: Marius Kaase <marius@kaase.net>
Reply-To: marius@kaase.net
MIME-Version: 1.0
To: jocanor jocanor <jocanor2002@hotmail.com>
Cc: bugtraq@securityfocus.com
In-Reply-To: <20031108183025.19866.qmail@sf-www2-symnsj.securityfocus.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
jocanor jocanor wrote:
>
> I found a vulnerability en phpbb 2.0.5 and prior, is probably also affect 2.0.6
>
> this bug don't affect to version 2.0.7
>
> phpbb have a list of registereds users, when you click on a memebr of this list, you are requesting data to the database
>
> for example:
>
> http://www.example.com/forum/profile.php?mode=viewprofile&u=2
>
> this url show the information to the user with the uid = 2, the uid is a number assigned to users in phpbb.
>
> but it isn't secure, because if you use this url, you can inject sql comands...
>
> exploit:
>
> http://www.example.com/profile.php?mode=viewprofile&u='[sqlcode]
>
> where [sql code] represents the code may be injected.
>
Does not affect 2.0.6.
This code prevents it:
function get_userdata($user, $force_str = false)
{
global $db;
if (intval($user) == 0 || $force_str)
{
$user = trim(htmlspecialchars($user));
$user = substr(str_replace("\\'", "'", $user), 0, 25);
$user = str_replace("'", "\\'", $user);
}
else
{
$user = intval($user);
}
(Taken from: http://www.phpbb.com/phpBB/viewtopic.php?p=848495)
--
Kind Regards
Marius Kaase
"If the Phone Doesn't Ring, It's Me"