Full Disclosure mailing list archives
Re: Kevin Johnson BASE <= 1.3.6 authentication bypass
From: "Jamie Riden" <jamie.riden () gmail com>
Date: Wed, 6 Jun 2007 11:04:27 +0100
On 04/06/07, Johnny Storm <johnny653 () gmail com> wrote:
Basic Analysis and Security Engine (BASE) (http://base.secureideas.net/) One more security product with lame bugs... Let's look at Kevin's authentication code, for example in base_main.php (all pages vulnerable): [...] 64 // Check role out and redirect if needed -- Kevin 65 $roleneeded = 10000; 66 $BUser = new BaseUser(); 67 //if (($Use_Auth_System == 1) && ($BUser->hasRole($roleneeded) == 0)) 68 if ($Use_Auth_System == 1) 69 { 70 if ($BUser->hasRole($roleneeded) == 0) 71 { 72 header("Location: $BASE_urlpath/index.php"); 73 } 74 } [...] Where is bug? Yes, your browser will redirect after received location header, but what if not? ;-)
[carefully ignoring the rest of the thread...] Yes, I believe it's good practice to exit(); after a header('Location: ...') - I've certainly tried to make all my code do it as far as possible. See for example: "Special attention should be paid when using Location header, however, as it is used to redirect clients from one page to another. When you send a Location header, PHP will continue to parse the script after the header was issued, which wastes system resources and also may let people see pages they would otherwise not be able to see. As a result, it's best to use call "exit;" immediately after header("Location: ...") to make sure that nothing happens after the redirect notice has been sent." -- http://www.hudzilla.org/phpwiki/index.php?title=Sending_custom_HTTP_headers That's all I'm saying, as I don't know the code well enough to guess the security implications and I don't have a running system to test on right now. cheers, Jamie -- Jamie Riden, CISSP / jamesr () europe com / jamie () honeynet org uk UK Honeynet Project: http://www.ukhoneynet.org/ _______________________________________________ Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/
Current thread:
- Kevin Johnson BASE <= 1.3.6 authentication bypass Johnny Storm (Jun 04)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Paul Schmehl (Jun 04)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Johnny Storm (Jun 05)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Kradorex Xeron (Jun 05)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Johnny Storm (Jun 05)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Johnny Storm (Jun 05)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Paul Schmehl (Jun 04)
- Re: Kevin Johnson BASE <= 1.3.6 authentication bypass Jamie Riden (Jun 06)