<<< Date Index >>>     <<< Thread Index >>>

Re: phpBB 2.06 search.php SQL injection



In-Reply-To: <3FC680E1.20563.5632F88@localhost>

Greetings BugTraq,

I have tested this vulnerability fairly extensively since it was announced on 
phpBB.com. Even though the version I'm using clearly has the vulnerable code it 
in, it does not seem to work as easily as this is being made out. My server is 
running PHP 4.3.4, and MySQL 4.0.15. The way I tested (which you didn't provide 
any proof of concept code) was through a UNION command -> 
http://yourdomain/yourforums/search.php?search_id=1 UNION select 
`user_password` from `phpbb_users` where user_id=1/* 

However, due to the fact that it uses an array function to pull all the 
relative information and the hash returns a single value without the 
seperators, it won't acknowledge that a result was returned.

If you try -> http://yourdomain/yourforums/search.php?search_id=1 or 1=1 UNION 
select `user_password` from `phpbb_users` where user_id=1/*
It will return all search results, but since it will only handle the first 
returned column and doesn't loop over them, it still won't display the password 
hash.

>From what I've tried so far, this doesn't really seem to be a critical 
>vulnerability -- just an SQL injection that would allow you to get maybe the 
>prefix of the forum tables or other insignifcant information.

The SQL injection still exists if that URL you specified 
"http://your_site/phpBB2/search.php?search_id=1"; returns "No topics or posts 
met your search criteria", also. A better way to test would be to mess with the 
query. Something like -> http://your_site/phpBB2/search.php?search_id=1 or 
blah=blah if that returns a debugging error, that means your boards are 
vulnerable.

Zarath

>Received: (qmail 3146 invoked from network); 27 Nov 2003 21:52:56 -0000
>Received: from outgoing3.securityfocus.com (205.206.231.27)
>  by mail.securityfocus.com with SMTP; 27 Nov 2003 21:52:56 -0000
>Received: from lists2.securityfocus.com (lists2.securityfocus.com 
>[205.206.231.20])
>       by outgoing3.securityfocus.com (Postfix) with QMQP
>       id 6EAECA30FC; Thu, 27 Nov 2003 15:01:17 -0700 (MST)
>Mailing-List: contact bugtraq-help@xxxxxxxxxxxxxxxxx; run by ezmlm
>Precedence: bulk
>List-Id: <bugtraq.list-id.securityfocus.com>
>List-Post: <mailto:bugtraq@xxxxxxxxxxxxxxxxx>
>List-Help: <mailto:bugtraq-help@xxxxxxxxxxxxxxxxx>
>List-Unsubscribe: <mailto:bugtraq-unsubscribe@xxxxxxxxxxxxxxxxx>
>List-Subscribe: <mailto:bugtraq-subscribe@xxxxxxxxxxxxxxxxx>
>Delivered-To: mailing list bugtraq@xxxxxxxxxxxxxxxxx
>Delivered-To: moderator for bugtraq@xxxxxxxxxxxxxxxxx
>Received: (qmail 2776 invoked from network); 27 Nov 2003 15:43:59 -0000
>Date: Thu, 27 Nov 2003 22:55:29 +0100
>From: n.teusink@xxxxxxxxx
>Subject: phpBB 2.06 search.php SQL injection
>To: bugtraq@xxxxxxxxxxxxxxxxx
>Message-id: <3FC680E1.20563.5632F88@localhost>
>MIME-version: 1.0
>X-Mailer: Pegasus Mail for Windows (v4.02)
>Content-type: text/plain; charset=US-ASCII
>Content-transfer-encoding: 7BIT
>Content-description: Mail message body
>Priority: normal
>
>Hello bugtraq readers,
>
>A vulnerability exists in phpBB 2.06 that could allow an attacker to 
>manipulate SQL 
>queries and gain administrative control over the forum.
>The search.php script of the application does not sufficiently sanitize the 
>input of the 
>"search_id" parameter. As a result of this an attacker could manipulate the 
>SQL 
>query the script performs and potentially extract information such as password 
>hashes from the database.
>
>Impact
>-----------
>
>The impact depends on the database solution in use. When testing the bug with 
>MySQL 4 on Apache 2 with PHP4, I was able to obtain my board administrator MD5 
>password hash. Armed with this hash an attacker could modify his cookie 
>accordingly 
>and log in as administrator without having to decode the hash. The attacker 
>would 
>then have complete control over the board and could execute other SQL queries 
>from 
>the admin panel.
>
>Patch
>-----------
>
>I notified the the phpBB 2.06 developers and they have patched the script. 
>phpBB 
>users should download the latest 2.06 version from http://www.phpbb.com
>A way to manually fix the issue can be found here: 
>http://www.phpbb.com/phpBB/viewtopic.php?t=153818
>
>A simple way to test if the bug is patched is:
>http://your_site/phpBB2/search.php?search_id=1If patched, this should return 
>the message "No topics or posts met your search 
>criteria". If unpatched you will get an SQL error (or just a general error if 
>DEBUG 
>mode is off).
>
>Cheers,
>
>Niels Teusink
>
>www.teusink.net
>