lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4317936A.40509@gmail.com>
Date: Fri Sep  2 00:49:08 2005
From: wr0ck.lists at gmail.com (Scott Dewey)
Subject: Multiple Phorum XSS and Session Hijacking
	vulnerabilities

=======================================================================================
XOR Crew :: Security Advisory 
       9/1/2005
=======================================================================================
Phorum 5.x Multiple XSS and Session Hijacking Vulnerabilities
=======================================================================================
http://www.xorcrew.net/
=======================================================================================

:: Summary

       Vendor       :  Phorum.org
       Vendor Site  :  http://www.phorum.org
       Product(s)   :  Phorum
       Version(s)   :  5.x
       Severity     :  Low/Medium
       Impact       :  Exposure of user credentials, session/account 
hijacking.
       Release Date :  8/27/2005
       Credits      :  wr0ck (wr0ck (a) xorcrew (.) net),
                    :  0xception (oxception (a) xorcrew (.) net).

=======================================================================================

I. Description

Phorum is a web based message board written in PHP. Phorum is designed with
high-availability and visitor ease of use in mind. Features such as 
mailing list
integration, easy customization and simple installation make Phorum a 
powerful
add-in to any website.

=======================================================================================

II. Synopsis

Phorum <= 5.0.17a has multiple vulnerabilities ranging from XSS to 
Session Hijacking
and (subjectively) insecure creation of client cookies.

The first of two XSS conditions lies within the User Registration form 
in register.php.
Input to the 'Username:' field is not properly sanitized before the user 
is added to the
database. See III. for details.

A less critical cross-site scripting issue is due to control.php not 
securely parsing a
logged in user's signature when said user is in 'My Control Center', 
viewing his own
profile. This allows HTML/<script> code to be injected into the profile 
page. Example
provided in section III.

There were also 3 vulnerabilities discovered in the way that Phorum 
deals with client
cookies, and session management. One of these is simply how Phorum 
assigns users cookies --
instead of using a random session ID, it creates a cookie with contents 
that might look
similar to the following:

testuser%3A59de1412ec33fd96ac4a4bfc793f1133

This string can be broken up into 3 parts:

Username   ":"   MD5 Encrypted Password ("testpasswd")
testuser | %3A | 59de1412ec33fd96ac4a4bfc793f1133

This means that all an attacker needs to break into a person's Phorum 
account is the
contents of their session cookie and a method of cracking the obtained hash.

Because a user is authenticated to the application by means of a static 
cookie instead of
a random session identifier, it is possible to hijack a user's session 
by editing your
own cookie to match or adequately resemble that of another user's, 
provided that you have
the contents of that user's cookie (cookie poisoning). See below for 
examples.

=======================================================================================

III. Code/PoC

XSS(1): Navigate to register.php in the phorum installation directory on 
'your' server.
         Enter HTML/<script> code in the 'Username' field of the 
registration form --
         the email and password you enter don't matter. Then, if you 
already haven't,
         register/login as a second user and browse to 'My Control 
Center', then 'Send
         A Private Message'. This will take you to a page that contains 
a drop-down box
         with the usernames of all registered users, including the 
malicious username you
         created earlier. When the list of processed, the username's are 
not checked for
         bad characters, and the "username" you submitted for 
registration is executed.

XSS(2): Login as any user, navigate to 'My Control Center', then 'Edit 
Signature'. Insert
         HTML/<script> code in the provided input box and 'Submit' it to 
save. Then browse
         to 'View Profile'. The code entered as your signature is executed.

Hijacking(1): Login as any user to create your own session cookie. 
Obtain/steal the
               'phorum_admin_session' cookie contents from a user with 
administrative
               privileges. Go to the admin.php page in the main 
directory of your Phorum
               installation. Modify your own cookie by executing 
something similar to the
               following within your browser:

               javascript:document.cookie="phorum_admin_session=<admin 
cookie>";

               Refresh. :>

Hijacking(2): Login as any user and navigate to 'My Control Center' 
(will bring you
               to control.php). Clear the cookie that was created upon 
your login and enter
               a URL similar to (re-crafted with your own relevant 
information):

 
http://<url>/phorum5/control.php?phorum_session_v5=<cookieInfr0z>

               If done correctly, you'll then be logged in as the user 
who's cookie information
               was supplied.


NOTE: We realize that session hijacking issues are not Phorum-specific, 
and generally
       apply to all web applications that handle user sessions in a way 
such as this. However,
       for the sake of completeness, this information has been included 
in the advisory more
       for educational purposes and as an example of the potential 
impact of the outlined XSS
       problem(s).

       Mr. Moon (the Phorum developer contacted) was kind enough to say:

       "I will be sending you another email when we have these problems 
fixed."

       ...no email was recieved. Additionally, he down-played the 
session hijacking entirely,
       stating:

       "We have researched and investigated ways to remember users 
across sessions that does
        not require them to login in again each time they come to the 
site.  We have found no
        way to do that without some cookie (whether it is the current 
one or not does not matter)
        that if known by another user would allow that other user to 
hijack the account."

       While this is partially true, methinks your dev team needs to put 
a little more effort
       into their "research". Surely using the user's hashed PASSWORD as 
a form of unexpirable
       session ID couldn't have been too smart. Also, before I had the 
chance to reply to his
       ignorant email and offer polite suggestions as to how he could 
more securely manage his
       user's sessions, he updates Phorum.org to read:

       "...We have talked at length about how we create our session 
cookies. Its true that
       if someone can get your cookie, they can log in as you. But, that 
is gonna be true for
       any application/web site on the internet."

      Brian, buddy, first of all that's not true.. at all. Secondly, I 
hardly consider my
      initial notice followed by your response an in-depth conversation.

      Either way, w3 l0v3 y0u 4nd y0ur BIG m0u7h :)

=======================================================================================

IV. Fix

Upgrade to Phorum v5.0.18... or Invision Power Board.

=======================================================================================

V. Greets :>

All of xor, Infinity, stokhli, ajax, gml, k&k, seeprompt, the rest.

=======================================================================================

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ