<<< Date Index >>>     <<< Thread Index >>>

[waraxe-2004-SA#007 - XSS and SQL injection bugs in 4nguestbook module for PhpNuke]






{================================================================================}
{                              [waraxe-2004-SA#007]                             
 }
{================================================================================}
{                                                                               
 }
{      [ XSS and SQL injection bugs in 4nguestbook module for PhpNuke ]         
 }
{                                                                               
 }
{================================================================================}
                                                                                
                                                
Author: Janek Vind "waraxe"
Date: 15. March 2004
Location: Estonia, Tartu



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

>From developer's infofile:

4nGuestbook Version 0.92 (German & English & Finnish) for phpNUKE Version 6.5 - 
6.9 (www.phpnuke.org)
By WarpSpeed (Marco Wiesler) (warpspeed@xxxxxxxxxxxxxxx) @ Sep/2oo3
http://www.warp-speed.de @ 4thDimension.de Networking

With this addon/module for phpNUKE you can offer a comfortable guestbook
to your users.

- Admin: Edit, delete and managing the guestbook entrys
- Admin: Generell Settings from Addon/Module
- Admin: Settings: Allow NB-Code, HTML or Smilies ...
- Admin: Settings: Only Members can post...
- Preview of entry
- Show IP or ID from poster (only for Admin)
- Full Multilanguage support
- And mutch more...



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

1. Cross-Site scripting aka XSS

Example:


http://localhost/nuke71/modules.php?name=4nGuestbook&entry=x[xss%20code%20here]

Because PhpNuke will filter GET request for some symbols, it will be wise to 
use POST
request for exploiting.

Remark 1 - this XSS case is by standard classification sql injection bug,
but because the script will display mysql errors for any user (not only for 
admin), we can "convert"
the sql injection to xss.

Remark 2 - when MySql version 4.1 will be widely used in future, then many "not 
so useful" sql injections,
including this one, can be used with full power - because of the "subselects" 
feature, not available in
current MySql versions. Why? Because if we can inject malicious code to sql 
sentence after "ORDER BY" or
after "LIMIT", then in current MySql versions, all we can do, is to fail the 
sql request. No UNION-s etc.
But in version 4.1 we can have something like this - "ORDER BY desc ASC LIMIT 
(SELECT pwd FROM nuke_authors)...".



2. Sql injection 

Not useful at all in this case, because we must have superadmin rights, but 
anyway - this bug needs to be fixed...

Example:

http://localhost/nuke71/admin.php?op=NukebookEditEntry&nbid=-2%20UNION%20SELECT%20null%20/*

and we have sql error:

MySQL Error : Query Error
Error Number: 1222 The used SELECT statements have a different number of columns





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

    Greets to ulljobu, djzone, raider and to all IT freaks in Estonia!



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

    come2waraxe@xxxxxxxxx
    Janek Vind "waraxe"

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